privateStringnome;privateintidade;privatedoublefrequen,frequenciamin=1,frequenciamax;//inicio da parte para somente o nomepublicvoidsetNome(Stringname){nome=name;
}
publicStringgetNome(){returnnome;}//parte do nome concluida//necessario colocar o tipo por completo parapublicvoididade(Integernasci){idade=nasci;idade=(idade-2012)*-1;}publicIntegergetIdad(){returnidade;}publicvoidfrequencia(){frequen=220-idade;frequenciamin=frequen*0.50;frequenciamax=frequen*0.85;}//metodo para chamar a frequencia minimapublicdoublegetFrequenciamin(){returnfrequenciamin;}publicdoublegetFrequenciamax(){returnfrequenciamax;}
}
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());
}
}
M
Mathe
hmm, os metodos que farão alguma fórmula que aparecera, por outro metodo, tmb devem ser declarados isso?
Sleipbr
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ê.
M
Mathe
hmm, i essa inicialização tem que ser na classe que tem o método main?
ViniGodoy
Por favor, ao postar tópicos, não deixe todas as letras do título MAIÚSCULAS.
Além disso, poste códigos com a tag code:
Finalmente, seu tópico foi mesmo resolvido? Se foi, qual foi a solução?
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
}
Sleipbr
Você pode criar um construtor que possa receber alguns argumentos e ele vai inicializar conforme o que foi passado.