Bom dia galera, blz?
sou novo aqui no GUJ então me desculpem caso estiver fazendo besteira, agradeço desde já a atenção.
seguite.
eu tenho uma classe
e dentro dela 3 metodos. o meu objetivo eh descobrir se a porta está aberta ou nao.
entao eu gostaria de pegar o valor de um void ‘abre’ e usar esse valor no metodo estaAberto para fins de comparaçao.
eu tentei dessa maneira mas nao deu certo, nao consegui usar o valor da variavel no outro método.
exexplo:
você está mostrando a mesma mensagem para os 2 casos…
if ( x==true){
System.out.println("Está aberta");
}
else
System.out.println("Está aberta");
ou seja… estando o x true ou false a mensagem mostrará “Está Aberta”
Felipe_Gomes
Existem alguns erros no código. Tente usar da seguinte forma:
assim teriam 2 métodos (fecha e abre) fazendo a mesma coisa..
então coloque apenas 1 método que faça isso..
ex:
void realizaOperacao (boolean x) {
this.x = x;
}
Felipe_Gomes
erico_kl:
assim teriam 2 métodos (fecha e abre) fazendo a mesma coisa…
então coloque apenas 1 método que faça isso…
ex:
void realizaOperacao (boolean x) {
this.x = x;
}
Com os dois métodos existe a possibilidade de implementação individual. Um método para estabelecer uma conexão, outro para encerrá-la. Por isso concordei com os dois métodos.
Apesar de entender que na situação atual um método está igual ao outro, sendo portanto um deles desnecessário, como você bem sugeriu Érico.
B
Bruno_Laturner
Deixe com dois métodos mesmo, abrir e fechar. Deixa o código melhor organizado e mais fácil de entender. Só não precisa passar um booleano pra eles.
rijava
Opa, valeu galera.
usei a solução do amigo ai de cima
Obrigado pessoal. :lol:
if(resultado==true){
System.out.println("Porta está aberta.");}elseSystem.out.println("Porta está fechada");}
}porta.abre(false)porta.estaAberta();
pmlm
Mas o abre e o fecha não precisam de receber qualquer parâmetro
classPorta{booleanresultado;//assumimos que true = aberta e false = fechada.voidabre()//Não precisas passar nenhum parâmetro, se vais pedir para abrir, é para ficar a true{this.resultado=true;}voidfecha()//Não precisas passar nenhum parâmetro, se vais pedir para fechar, é para ficar a false{this.resultado=false;}voidestaAberta(){if(resultado==true)// aqui poderias por simplesmente if (resultado){System.out.println("Porta está aberta.");}elseSystem.out.println("Porta está fechada");}}}
Felipe_Gomes
pmlm:
Mas o abre e o fecha não precisam de receber qualquer parâmetro
classPorta{booleanresultado;//assumimos que true = aberta e false = fechada.voidabre()//Não precisas passar nenhum parâmetro, se vais pedir para abrir, é para ficar a true{this.resultado=true;}voidfecha()//Não precisas passar nenhum parâmetro, se vais pedir para fechar, é para ficar a false{this.resultado=false;}voidestaAberta(){if(resultado==true)// aqui poderias por simplesmente if (resultado){System.out.println("Porta está aberta.");}elseSystem.out.println("Porta está fechada");}}}