. Ao fazer exercícios físicos, você pode utilizar um monitor de frequência cardíaca para ver se sua frequência permanece dentro de um intervalo seguro sugerido pelos seus treinadores e médicos. Segundo a American Heart Association (AHA) (www.americanheart.org/presenter.jhtml?identifier=4736), a fórmula para calcular a frequência cardíaca máxima por minuto é 220 menos a idade em anos. Sua frequência cardíaca alvo é um intervalo entre 50-85% da sua frequência cardíaca máxima. [Observação: essas fórmulas são estimativas fornecidas pela AHA. As frequências cardíacas máximas e alvo podem variar com base na saúde, capacidade física e sexo da pessoa. Sempre consulte um médico ou profissional de saúde qualificado antes de começar ou modificar um programa de exercícios físicos.] Crie uma classe chamada FrequenciaCardiaca. Os atributos da classe devem incluir o nome, sobrenome e data de nascimento da pessoa (consistindo em atributos separados para mês, dia e ano de nascimento). Sua classe deve ter um construtor que receba esses dados como parâmetros. Para cada atributo forneça métodos set e get. A classe também deve incluir um método que calcule e retorne a idade (em anos), um que calcule e retorne a frequência cardíaca máxima e um que calcule e retorne a frequência cardíaca alvo da pessoa. Escreva um aplicativo Java que solicite as informações da pessoa, instancie um objeto da classe FrequenciaCardiaca e imprima as informações a partir desse objeto — incluindo nome, sobrenome e data de nascimento da pessoa — calcule e imprima a idade da pessoa (em anos), seu intervalo de frequência cardíaca máxima e sua frequência cardíaca alvo.
/**
- Classe que calcula a fequencia cardiaca de uma pessoa dada sua idade.
- Versão: 0.01.1
- Autor: Ewerton Cleudson de Sousa Melo
/
import java.util.;
public class FrequenciaCardiaca{
private String nome;
private String sobreNome;
private int diaNasc = 0, mesNasc = 0, anoNasc = 0;
FrequenciaCardiaca(String nome, String sobreNome, int diaNasc, int mesNasc, int anoNasc){
this.nome = nome;
this.sobreNome = sobreNome;
this.diaNasc = diaNasc;
this.mesNasc = mesNasc;
this.anoNasc = anoNasc;
} // Fim do construtor (nome, sobreNome, diaNasc, mesNasc, anoNasc)
FrequenciaCardiaca(){
} // Fim do construtor FrequenciaCardiaca
public void setNome(String nome){
this.nome = nome;
}//Fim do metodo setNome
public String getNome(){
return this.nome = nome;
}//Fim do metodo getNome
public void setSobreNome(String sobreNome){
this.sobreNome = sobreNome;
}//Fim do metodo setSobreNome
public String getSobreNome(){
return this.sobreNome = sobreNome;
}//Fim do metodo getSobreNome
public void setDiaNasc(int diaNasc){
this.diaNasc = diaNasc;
}//Fim do metodo setDiaNasc
public int getDiaNasc(){
return diaNasc;
}//Fim do metodo getDiaNasc
public void setmesNasc(int mesNasc){
this.mesNasc = mesNasc;
}//Fim do metodo setDiaNasc
public int getmesNasc(){
return mesNasc;
}//Fim do metodo getDiaNasc
public void setAnoNasc(int anoNasc){
this.anoNasc = anoNasc;
}//Fim do metodo setDiaNasc
public int getAnoNasc(){
return anoNasc;
}//Fim do metodo getDiaNasc
public static int calculaIdade(int anoNasc){
Calendar dataAtual = Calendar.getInstance();
int idade = 0;
if(anoNasc != 0){
idade = dataAtual.get(Calendar.YEAR) - anoNasc;
}
return idade;
}//Fim metodo calculaIdade
public static int frequenciaCardiacaMaxima(int idade){
int freqCardMax = 220 - idade;
return freqCardMax;
}//Fim do metodo frequenciaCardiacaMaxima
public static double frequenciaCardiacaAlvo(int freqCardMax){
double freqCardAlvo = (0.85 * freqCardMax - 0.5 * freqCardMax) / 2.;
return freqCardAlvo;
} //Fim do metodo frequenciaCardiacaAlvo
public void exibirMensagem () {
System.out.printf("%s %s", this.getNome(), this.getSobreNome());
} //Fim metodo exibirMensagem
}//Fim da Classe FrequenciaCardiaca
/** Classe que testa as funcionalidades de TesteFrequenciaCardiaca. */
import java.util.*;
public class TesteFrequenciaCardiaca{
public static void main(String args[]){
Scanner input = new Scanner(System.in);
String nome;
String sobreNome;
int diaNasc;
int mesNasc;
int anoNasc;
int idade = 0;
int freqCardMax = 0;
double freqCardAlvo = 0;
System.out.print("Digite nome: ");
nome = input.nextLine();
System.out.print("Digite sobreNome: ");
sobreNome = input.nextLine();
System.out.print("Digite a data de nascimento: ");
diaNasc = input.nextInt();
System.out.print("Digite o mes de nascimento: ");
mesNasc = input.nextInt();
System.out.print("Digite o ano de nascimento: ");
anoNasc = input.nextInt();
FrequenciaCardiaca fc = new FrequenciaCardiaca(nome, sobreNome, diaNasc, mesNasc, anoNasc);
fc.exibirMensagem();
FrequenciaCardiaca.calculaIdade(anoNasc);
fc.frequenciaCardiacaMaxima(idade);
fc.frequenciaCardiacaAlvo(freqCardMax);
System.out.printf("%.2f", freqCardMax);
}
}//Fim da classe TesteFrequenciaCardiaca