[Resolvido] Dúvida sobre o uso de 'boolean' junto com 'if' e 'else'

4 respostas
Lincoln_Minto

Olá pessoal!
Sou novo em java e estou com dificuldade para obter um resultado se determinada pessoa é ou não maior de idade.

package Treinando;

public class Main {

    public static void main(String[] args) {

        int idade = 16;

        boolean MaiorIdade = 18<idade;
        
        if (MaiorIdade = false){
        System.out.println("Você é menor de idade!!!");
        }
        else {
            System.out.println("Parabéns!!!\nVocê ja pode beber!");
        }
       

    }
}

Quando rodo o código mesmo alterando a idade a respostra continua a mesma.
O que eu preciso fazer então?
Obrigado

4 Respostas

gpd38
if (MaiorIdade = false){

Aqui vc esta atribuindo e nao comparando

if (MaiorIdade == false){
Lincoln_Minto

Valeu muito obrigado!

pedroroxd

Além disso…
O que acontece se vc colocar em vez de
int idade = 16;
Colocar:

int idade = 18;

?
A pessoa que tem 18 anos é menor de idade? Não…
Troque por isso:

boolean MaiorIdade = 18<=idade; //Menor ou igual.
pedroroxd
Utilizando entradas do console, e consertando os erros do == e do <= Seu programa ficaria assim:
System.out.println("Digite sua idade");
		int idade = new Scanner(System.in).nextInt(); //o sacnner vai pegar o que foi digitado e gravar na variável idade

		boolean MaiorIdade = 18 <= idade; //<= (menor e igual) e não < (menor)

		if (MaiorIdade == false) { //comparação em java de números inteiros é usado por == e não igual. Objetos usam .equals()
			System.out.println("Você é menor de idade!!!");
		} else {
			System.out.println("Parabéns!!!\nVocê ja pode beber!");
		}
Criado 27 de abril de 2010
Ultima resposta 27 de abr. de 2010
Respostas 4
Participantes 3