4
respostas

Código com erro.

Está dizendo que a pessoa não pode entrar. Alguém pode me ajudar?


package sintaxe_variaveis_e_fluxo;

public class TestaEscopo {

    public static void main(String[] args) {

        System.out.println("Testando condicionais");

        int idade = 10;
        int quantidadepessoas = 3;

        boolean acompanhado = quantidadepessoas >= 2;

        System.out.println("Valor de acompanhado = " + acompanhado);


                if (idade >= 18 && acompanhado ) {

                    System.out.println("Você tem mais de 18 anos");
                    System.out.println("Seja bem-vindo");


                }

                else

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


    }

}
4 respostas

O código continua não compilando corretamente, mesmo eu atualizando-o.


package sintaxe_variaveis_e_fluxo;

public class TestaEscopo {

    public static void main(String[] args) {

        System.out.println("Testando condicionais");

        int idade = 10;
        int quantidadepessoas = 3;

        //boolean acompanhado = quantidadepessoas >= 2;

        boolean acompanhado;

        if (quantidadepessoas >= 2) {

            acompanhado = true;

        }else {

            acompanhado = false;


        System.out.println("Valor de acompanhado = " + acompanhado);


                if (idade >= 18 && acompanhado ) {

                    System.out.println("Você tem mais de 18 anos");
                    System.out.println("Seja bem-vindo");


                }

                else

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


    }

}
}

Oi Vitor

Consegui rodar o código que você enviou sem erros de compilação. Porém, uma correção, o seu else do if (quantidadepessoas >= 2) { está faltando uma }, código correto:

public static void main(String[] args) {

        System.out.println("Testando condicionais");

        int idade = 10;
        int quantidadepessoas = 3;

        //boolean acompanhado = quantidadepessoas >= 2;

        boolean acompanhado;

        if (quantidadepessoas >= 2) {
            acompanhado = true;
        } else {
            acompanhado = false;
        }

        System.out.println("Valor de acompanhado = " + acompanhado);

        if (idade >= 18 && acompanhado ) {
            System.out.println("Você tem mais de 18 anos");
            System.out.println("Seja bem-vindo");
        }

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

Olá,

Está dizendo que a pessoa não pode entrar. Alguém pode me ajudar?

int idade = 10;
int quantidadepessoas = 3;

boolean acompanhado = quantidadepessoas >= 2;

if (idade >= 18 && acompanhado )

Enqto idade for menor que 18o conteúdo do if não será exibido.

[]'s

Tá dizendo que a pessoa não pode entrar pq vc tá usando o conectivo "e" do Java, ou seja, o &&. Quando vc usa esse conectivo, ambos os lados da sentença precisam ser verdadeiros. Por exemplo (um exemplo tosco mas que acho que pode ajudar a entender).

Um pai promete ao filho que ele vai dar de presente uma bola E (&&) uma bicicleta.

A promessa do pai só vai ser verdadeira se ele der a bola e a bicicleta juntos. Se ele der só a bola ou só a bicicleta, a promessa do pai não foi cumprida.

Dessa forma, quando vc usa o conectivo && aqui embaixo, vc tá dizendo que a pessoa só vai poder entrar se ela preencher ambos os critérios (ter mais de 18 anos E estar acompanhado). No teu códio, a pessoa em questão tinha 10 anos, apesar de estar acompanhado, ele não cumpre ambos os requisitos e por isso teu código estava rodando que a pessoa não podia entrar.

            if (idade >= 18 && acompanhado ) {

                System.out.println("Você tem mais de 18 anos");
                System.out.println("Seja bem-vindo");


            }

            else

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


}

}

Agora, se tu quiser que precise cumprir apenas um dos requisitos, utilize o conectivo "ou", que no Java é o "||"

Já teu segundo código não estava rodando pq vc esqueceu de fechar o escopo do "else" com as {...