Pessoal, ontem eu estava fazendo uns exercicios da apostila caelum de java que me pareciam muito facil. Acabei mudando de ideia :cry: O exercicio pedia para fazer uma classe casa com 3 atributos porta e na classe casa, deveria ter um metodo (int quantasPortasEstaoAbertas()) para saber quantas portas estavam abertas. Na classe porta, o atributo que dizia se estava aberta ou nao, era do tipo booleano. Ate ai, tudo nas 1000 maravilhas, mas ele me acusou alguns erros que nao entendi. Segue os codigos:
public class Porta{
private boolean aberta = false;//abaixo eu tinha feito os devidos metodos para abrir e fechar a porta, e estavam funcionando
int portaAberta(){// retorna o erro: missing return statement
if(aberta){
return 1;
}
}
}//como este metodo deu erro, e nao sei pq, decidi colocar um metodo na classe casa para controlar isso. Antes de mais nada, alguem sabe pq isso aqui deu erro?
[code]public class Casa{
Porta porta1 = new Porta();
Porta porta2 = new Porta();
Porta porta3 = new Porta();
int quantasPortas;
int quantasPortasEstaoAbertas(){
if(porta1.aberta){//neste ponto, eu tirei o modificador private do atributo aberta so para testes
quantasPortas+=1;
}//nem terminei de fazer os ifs para os outros objetos pq me acusou um erro. Nao sei qual foi pq nao tenho nada para programar aqui em casa, mas alguem poderia testar isso e ver o erro?
quantasPortas = porta1.aberta?quantasPortas+=1:quantasPortas+=0;//aqui me da um erro que eu nunca imaginava: required variable found value(ou algo assim). Esse erro so some, quando eu decho assim: quantasPortas = porta1.aberta?quantasPortas+=1:quantasPortas;
}
