missing return statemente nao acontece apenas quando o else nao tem com o que comparar? bom nao tenho muito com o que compara, boolean eh false e true certo ? entao o else ja sabe que tem que ser false? ou tenho que colocar else(portas[i].situacao==false){return false; }
o estranho que mesmo botando isso o erro sai, mas qnd vou para a classe main, ele volta a aparece o erro na abinha la em cima :S
alguem tem alguma ideia do que pode estar havendo ?
Estou supondo que você quer retornar true se pelo menos uma das portas.situacao for true.
P
pedrolima88
:oops: :oops:
que easy.
sim eh isso mesmo se for true retorna se nao pode deixar como ta mesmo
P
pedrolima88
estranho,
pelo meu entender daria certo, mas nao vai de form alguma e continua dando o mesmo erro.
boolean abreFecha() {
for (int i = 0; i < portas.length; i++) {
if (portas[i].situacao == true) {
return true;
}
return false;
}
}
o que sera que pode estar havendo gente? :S net beans ?
T
thingol
Suponha que portas.length seja exatamente 0. O que ocorre é que o “for” não vai ser executado, e nesse caso vai haver o caso de um ponto do programa que não tem “return”.
Você copiou direito o meu código ou não?
P
pedrolima88
bom uma coisa fiquei em duvida no seu codigo.
o if vai verificar com quem? nao tem nenhum == la :S
siginifica o padrao ?que ja vem true qnd cria?
T
thingol
Tá bom, é que o modo recomendado de testar variáveis booleanas não é compará-las com true ou false, mas sim usá-las diretamente (usando o operador ! caso necessário).
É que na verdade o “if” é um comando que recebe um valor booleano (true ou false); o operador “==” retorna true se ambas as coisas forem iguais, e false em caso contrário.
Do jeito que você fez, na primeira comparação falsa ele sai do for e já retorna false direto.
Do jeito que o Thingol fez, ele só sairá do for e retornará false se a situação de absolutamente todas as portas for false.
mrcastro
É bom sempre pensar nesses casos:
“tem alguma forma de meu método não entrar no meu if/for/while?”
Caso a resposta seja sim, deve-se ter o retorno fora desses controles de fluxo, pra garantir que alguma coisa seja retornado pelo método