1
resposta

Verificação de idade e escopo de variáveis

Identificar e corrigir o erro de escopo de variáveis no código.
Garantir que o programa exiba a mensagem correta com base na idade da pessoa, no código abaixo a saída será Você é menor de idade.

public class Main {
    public static void main(String[] args) {
        int idade = 17;
        String mensagem;

        if (idade >= 18) {
            mensagem = "Você é maior de idade.";
        } else {
            mensagem = "Você é menor de idade.";
        }

        System.out.println(mensagem);
    }
}
1 resposta

Há muitas formas de melhorar esse código. Pode não ser em questão de performance, por ser um código muito simples, mas sim em questão de legibilidade para outras pessoas. Aí, sim, é possível melhorar. Para isso, podemos usar algumas técnicas, como fail-fast ou early return.

Early return

public class Main {
    public static void main(String[] args) {
        int age = 17;
        final int OF_LEGAL_AGE = 18;

        if (age < OF_LEGAL_AGE) {
            System.out.println("Você é menor de idade.");
            return;
        }

        System.out.println("Você é maior de idade.");
    }
}

Esta outra usando uma Library que estou desenvolvendo para java:

package com.github.nadezhdkov.application;

import obsidian.control.When;

public class Main {
    public static void main(String[] args) {
        int idade = 17;
        final int OF_LEGAL_AGE = 18;

        When.ifElse(idade >= OF_LEGAL_AGE,
            () -> System.out.println("Você é maior de idade."),
            () -> System.out.println("Você é menor de idade."));
    }
}
package com.github.nadezhdkov.application;

import obsidian.control.When;

public class Main {
    public static void main(String[] args) {
        int idade = 17;
        final int OF_LEGAL_AGE = 18;

        When.onlyIf(idade >= OF_LEGAL_AGE, () -> System.out.println("Você é maior de idade."));

        System.out.println("Você é menor de idade.");
    }
}

Uma dica, nao se apague somente ao que lhe e mostrado aqui na Alura. Corra atras de outros meios para acelerar o seu processo de aprendizado.