Boolean

4 respostas
F

Como consigo fazer que o tipo Boolean pare de dar somente false e passe a dar true?
E também gostaria de que ele traga uma mensagem.

System.out.print(Voce tem filhos: (s/n) );
Boolean filhos = sc.hasNextBoolean();
System.out.print(Legal:   + filhos);

4 Respostas

Jonathan_Medeiros

O valor de input “s” e “n” não são valores booleanos, por isso eles não são convertidos como você espera.

hugokotsubo

Se vc digitar somente “s” ou “n”, hasNextBoolean() vai retornar false.

Uma dica: sempre leia a documentação de tudo que vai usar. Veja aqui que hasNextBoolean() só retorna true se o que foi digitado pode ser convertido para boolean (sendo mais específico, ele só aceita que você digite “true” ou “false”).

No seu caso, se você quer que a pessoa digite “s” ou “n”, então deveria usar nextLine():

String opcao = sc.nextLine();
if ("s".equals(opcao)) {
    // tem filhos
}
// ou, se só quiser imprimir
System.out.println("Tem filhos: " + "s".equals(opcao));
F

Valeu

F

valeu

Criado 11 de outubro de 2022
Ultima resposta 11 de out. de 2022
Respostas 4
Participantes 3