Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

If com operador igual (=) em um boolean

Boas caros,

Não estou a conseguir, perceber, porquê que o meu código abaixo, não compila?


public class TestaEscopo {

    public static void main(String[] args) {
        System.out.println("Testando condicionais");

        int idade = 17;
        int quantidadePessoas = 1;
        boolean acompanhado;

        if (quantidadePessoas >=2) {

            acompanhado = true;

        }else
        {
            acompanhado = false;
        }

        if (idade <= 18 || acompanhado = true) {

            System.out.println("Seja benvindo");
        } else {

                System.out.println("Infelizmente você não pode entrar");
            }
        }

}

O erro é:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    The operator <= is undefined for the argument type(s) boolean, boolean
    Syntax error on token "=", <= expected

    at TestaEscopo.main(TestaEscopo.java:20)
1 resposta
solução!

Oi Martins!

O símbolo "=" é utilizado para fazer atribuições de valores para variáveis.

Na comparação de igualdade, utilizamos o ==. Então seu if precisa ficar assim:

 if (idade <= 18 || acompanhado == true) {
    // restante do código
}

abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software