0
respostas

Desafio 2

@FunctionalInterface public interface OperacaoExerciciosLambda { void ePrimo (int a); }


public class ExerciciosLambda { public static void main(String[] args) {

    Scanner leitura = new Scanner(System.in);

    OperacaoExerciciosLambda numeroPrimo = (a) -> {
        System.out.println("Digite o número para ver se é primo: ");
        a = leitura.nextInt();

        boolean primo;

        if(a == 2){
            primo = true;
            System.out.println(primo + " 2 é numero primo");
        } else if (a % 2 == 0 || a < 0) {
            primo = false;
            System.out.println(primo + ": Números pares ou negativos não podem ser primos");
        } else {
            primo = true;

            for (int i = 3; i < a; i+=2){
                if (a % i == 0){
                    primo = false;
                    System.out.println(primo + ": O número é impar, porém é o resto da divisão é zero, não é primo");
                    break;
                }
            }

        }
        if (primo == true){
            System.out.println(primo + ": O número é primo!");
        }
    };
    numeroPrimo.ePrimo(0);
}

}

Com um pouco de dificuldade, mas foi a melhor lógica que consegui entender