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 ?
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”.
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.