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

Ordem de execução

Gostaria de saber porque ao colocar o ( int idade = dados.nextByte() acima o codigo nao e executado somente quando deixo ele abaixo conforme codigo abaixo ? Seria por conta da ordem de execução do coodigo ?

import java.util.Scanner;

public class EntradaDados {
    public static void main(String[] args) {
        Scanner dados = new Scanner(System.in);


        System.out.println("Digite sua idade: ");
        int idade = dados.nextByte();

        if (idade > 18){
            System.out.println("Você é maior de idade");
        }else {
            System.out.println("Você é menor de idade");
        }
    }
}
1 resposta
solução!

O "int idade = dados.nextByte();" acima de quem? Se for acima do System.out.println("Digite sua idade") ele até roda e espera que se digite algo, mas como está instruído para exibir a mensagem só depois que o usuário inserir o número, a frase só vai aparecer após a digitação do número.

Sugestão: no if colocar a validação como idade >= 18, uma vez que 18 anos já é considerado maior de idade.