private String nome;
private int idade;
private double frequen, frequenciamin = 1, frequenciamax;
//inicio da parte para somente o nome
public void setNome(String name) {
nome = name;
}
public String getNome() {
return nome;
}
//parte do nome concluida
//necessario colocar o tipo por completo para
public void idade(Integer nasci) {
idade = nasci;
idade = (idade - 2012) * -1;
}
public Integer getIdad() {
return idade;
}
public void frequencia(){
frequen = 220 - idade;
frequenciamin = frequen * 0.50;
frequenciamax = frequen * 0.85;
}
//metodo para chamar a frequencia minima
public double getFrequenciamin() {
return frequenciamin;
}
public double getFrequenciamax() {
return frequenciamax;
}
}
Na hora em que pesso a frequenciamax pelo métogo getFrequenciamax ele vem como 0 mesmo eu tendo alterado o valor dele na fórmula.
Após criar o objeto você deve primeiro chamar o método frequencia() para setar a frequenciamax.
public class Principal {
public static void main(String args[]) {
hearRates h1 = new heartRates();
h1.idade(1990);
h1.frequencia();
System.out.println(h1.getFrequenciamax());
}
}
Se fosse chamar apenas o método para pegar a máxima você retornará apenas o valor da variável de frequênciamax que é um double. Se você não chamar o método frequencia() antes de getFrequenciaMax() você estará retornando o valor default do double que é 0 porque ainda não foi inicializado frequenciamax.
frequencia() irá configurar, e getFrequenciaMax() irá mostrar o valor para você.
em frequenciamax você não inicializou com nenhum valor, logo ele inicializa com um valor default para double é 0.
mas no método frequencia(), você muda o valor da variável em:
public void frequencia(){
frequen = 220 - idade;
frequenciamin = frequen * 0.50;
frequenciamax = frequen * 0.85; //<- aqui, você está atribuindo um novo valor para frequenciamax
}