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

Exceção InputMismatchException

Estava tentando fazer de uma maneira diferente, porém não consigo fazer o boolean funcionar da maneira que eu estava pensando. Queria validar ele se o usuário respondesse "sim" e caso digitasse "não" corresponderia a mensagem que ele não pode entrar.

import java.util.Scanner;

public class Teste {

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Informe sua idade: ");
    int idade = scanner.nextInt();

    if (idade >= 18) {
        System.out.println("Tudo bem, você pode entrar");
    } else {
        System.out.println("Não, não pode entrar");
    }

    System.out.println("Você está acompanhando por alguém?");
    boolean acompanhado = true;
    acompanhado = scanner.nextBoolean();
    int qtdPessoas = scanner.nextInt();

    if (qtdPessoas >= 2 || acompanhado) {
        System.out.println("Você não tem idade, mas pode entrar pois está acompanhado");
    } else {
        System.out.println(" Realmente você não pode entrar");
    }
}

}

4 respostas

Olá Isadora,

posta o código da sua lógica utilizando o boolean pra eu tentar te ajudar.

Me desculpa kkk! Agora postei o correto.

solução!

Boa tarde Isadora, não entendi se a validação que você quer fazer é com o usuário digitando "sim" ou "não", ou se a validação é com boolean (usuário terá que digitar true ou false). fiz um exemplo utilizando boolean:

public static void main(String[] args) {
        int qtdPessoas;
        boolean acompanhado;
        Scanner scanner = new Scanner(System.in);

        System.out.println("Informe sua idade: ");
        int idade = scanner.nextInt();

        if (idade >= 18) {
            System.out.println("Tudo bem, você pode entrar");
        } else {
            System.out.println("Você está acompanhando por alguém?");
            acompanhado = scanner.nextBoolean();
            System.out.println("Quantas pessoas? ");
            qtdPessoas = scanner.nextInt();
            if (qtdPessoas >= 2 && acompanhado == true) {
                System.out.println("Você não tem idade, mas pode entrar pois está acompanhado");
            } else {
                System.out.println("Realmente você não pode entrar");
            }
        }
        scanner.close();
    }

se você deseja a validação com "sim" ou "não" terá tem que usar string e não um boolean na hora de pagar a palavra digitada pelo usuário.

Obrigada Leonardo! Clareou bastante.