Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Int não converte em boolean

Boa noite pessoal, tudo bem?

Então, estou com este problema. Como estou na faculdade, não consigo usar o CMD daqui para poder compilar o programa java, porém, estou usando o netbeans na compilação para rodar o programa.

O erro que aparece é esse da conversão de int em boolean, alguem poderia me ajudar? :(

package programa;
class Programa2 {
    public static void main(String[] args) {
        int idadeVisitante = 16;
        boolean amigoDoDono = true;

        if idadeVisitante = 18 || amigoDoDono) {

            System.out.println ("Entre na Festa");
        }   else {

            System.out.println ("Volte para casa!");

        }
        }       
}
3 respostas

Fala aí, Willian! Tudo certinho, cara? =)

O problema na verdade está no seu if. De fato, não é possível fazer uma conversão de int para boolean.

No seu if, toma cuidado que ficou faltando você abrir os parênteses. Além disso, ao invés de um sinal de igual (=), você deveria utilizar dois, visto que está querendo realizar uma comparação, não atribuição... Seu código deve ficar assim:

class Programa2 {
    public static void main(String[] args) {
        if (idadeVisitante == 18 || amigoDoDono) {
            System.out.println("Entre na festa");
        } else {
            System.out.println("Volte para casa");
        }
    }
}

Sacou? =)

Espero ter ajudado, mas qualquer dúvida não deixe de postar por aqui para que possamos ajudá-lo!

Abraço e bons estudos,

Fábio

Fala Fábio, tudo bem?

Alterei meu código pra sua sugestão e deu "certo".

Ele executou, porém, eu não entendi muito bem a lógica.

Quando eu utilizo "==" ele apenas reconhece que o numero seja igual. Por exemplo, se a idadeDoVisitante for igual a 18, ele entra na festa. Porém, se a idadeDoVisitante for 19, ele não entra.

Meu amigo aqui da faculdade me ensinou, na verdade o código precisa ser escrito como if (idadeDoVisitante >= 18) {, aí ele vai entrar como igual a 18 anos ou maior!

Mas, muito obrigado pelas suas dicas, Fábio! Me ajudaram bastante.

Um abraço!


package programa;
class Programa {
    public static void main(String[] args) {
        int idadeVisitante = 20;

        if (idadeVisitante == 18){

            System.out.println ("Entre na Festa");
        }   else {

            System.out.println ("Volte para casa!");
        }  
        }

}
solução!

Willian,

Boa! É isso, mesmo...

Quando você quer realizar alguma comparação dentro do if, você pode fazer uma verificação de igualdade ou desigualdade:

  • ==: Verificará se o valor é exatamente igual ao que você informar;
  • !=: Verificará se o valor é diferente do que você informar;
  • >: Verificará se o valor é maior ao que você informar;
  • <: Verificará se o valor é menor ao que você informar;
  • >=: Verificará se o valor é maior ou igual ao que você informar;
  • <=: Verificará se o valor é menor ou igual ao que você informar.

Sacou? =)

Se você quer que ele tenha no mínimo 18 anos, você pode usar o >=. =)

Espero ter ajudado!

Abraço e bons estudos,

Fábio