Quero um exemplo básico de como agir com 2 métodos num exemplo assim
1º Método=
Cachorro pode latir ou não
Neste caso ele latiu
2º
Se o cachorro latiu, diga “1”, caso contrário diga “2”
Como fazer com que o segundo método conheça o resultado do primeiro?
Desde já, obrigado.
Você conhece a ordem pela qual os métodos são executados durante a execução de uma rotina?
Se não, existe algo que é chamado de empilhamento de processos e que permite, coisas como recursividade que é a possibilidade de um método trabalhar com valores processados por ele mesmo.
Como assim?
Vamos supor que a classe A possua os métodos m1, m2 e m3 e que, m1 chame m2, m2 chame m3 e m3 faça uma consulta ao usuário (abra um JOptionPane.showInputDialog). Enquanto o usuário não inserir nada e selecionar “ok” os métodos m3, m2 e m1 ficam “congelados”.
Quando o usuário finaliza sua parte, dispara a continuação de m3, que, ao finalizar devolve a m2 e este, por fim, para m1.
Assim sendo, se precisa que o método posLatir saiba o que o metodo podeLatir retorna, faça uma chamada
...
public void posLatir(){
boolean latiu = podeLatir();
}
public boolean podeLatir(){
if(cachorro.latiu()){
return true;
}
return false;
}
como a descrita.
Outro problema,
[code]public void posLatir(){
boolean latiu = podeLatir();
}
public boolean podeLatir(){
if (2 > 1) {
return true;
}
return false;
}[/code]
Como eu faço pra usar o resultado do método podeLatir (true ou false) ?
Você pode usar a variável “latiu”, que guarda o resultado do método podeLatir(), conforme a linha 2 do seu código:
public void posLatir(){
boolean latiu = podeLatir();
}
Segundo, o seu método podeLatir() vai retornar sempre “true”, porque a condição do if é sempre verdadeira (dois é sempre maior que um).