1
resposta

[Sugestão] Problema 4: Classe NumerosPrimos e Subclasses VerificadorPrimo e GeradorPrimo

class NumerosPrimos {
    public boolean verificarPrimalidade(int numero) {
        if (numero <= 1) {
            return false;
        }
        for (int i = 2; i <= Math.sqrt(numero); i++) {
            if (numero % i == 0) {
                return false;
            }
        }
        return true;
    }

    public void listarPrimos(int limite) {
        for (int i = 2; i <= limite; i++) {
            if (verificarPrimalidade(i)) {
                System.out.println(i);
            }
        }
    }
}

class VerificadorPrimo extends NumerosPrimos {
    public void verificarSeEhPrimo(int numero) {
        if (verificarPrimalidade(numero)) {
            System.out.println(numero + " é primo");
        } else {
            System.out.println(numero + " não é primo");
        }
    }
}

class GeradorPrimo extends NumerosPrimos {
    private int ultimoPrimo = 1;

    public int gerarProximoPrimo() {
        int num = ultimoPrimo + 1;
        while (!verificarPrimalidade(num)) {
            num++;
        }
        ultimoPrimo = num;
        return num;
    }
}

public class Main {
    public static void main(String[] args) {
        VerificadorPrimo verificador = new VerificadorPrimo();
        verificador.verificarSeEhPrimo(17);
        verificador.verificarSeEhPrimo(18);

        GeradorPrimo gerador = new GeradorPrimo();
        System.out.println("Próximo primo: " + gerador.gerarProximoPrimo());
        System.out.println("Próximo primo: " + gerador.gerarProximoPrimo());
    }
}
1 resposta

Oii Lukoki, tudo bem?

Muito obrigada por compartilhar seu código! Parabéns por praticar e aplicar os conceitos de orientação a objetos em Java. Seu trabalho em criar classes para verificar e gerar números primos está excelente. Continue assim!

Um abraço e bons estudos.