package desafio;
public class NumerosPrimos {
/*
Crie uma classe NumerosPrimos com métodos como verificarPrimalidade() e listarPrimos().
Em seguida, crie duas subclasses, VerificadorPrimo e GeradorPrimo, que herdam da classe NumerosPrimos.
Adicione um metodo específico para cada uma das subclasses, como verificarSeEhPrimo() para o VerificadorPrimo
e gerarProximoPrimo() para o GeradorPrimo.
*/
public boolean verificarPrimalidade(int numero){
if (numero <= 1){
return false;
}
for (int i = 2; i < numero; i++){
if (numero % i == 0){
return false;
}
}
return true;
}
public void listarPrimos(int limiteMaximo){
System.out.print("Números primos até " + limiteMaximo + ": ");
for (int i = 2; i <= limiteMaximo; i++){
if (verificarPrimalidade(i)){
if(i == limiteMaximo){
System.out.println(i);
} else {
System.out.print(i + ", ");
}
}
}
}
}
package desafio;
public class VerificadorPrimo extends NumerosPrimos {
public void verificaSeEhPrimo(int numero){
String mensagemPersonalizada = "O número " + numero + (super.verificarPrimalidade(numero) ? " é primo." : " não é primo.");
System.out.println(mensagemPersonalizada);
}
}
package desafio;
public class GeradorPrimo extends NumerosPrimos{
public void gerarProximoPrimo(int primo){
int proximoNumero = primo + 1;
while (!super.verificarPrimalidade(proximoNumero)){
proximoNumero++;
}
System.out.println("O proximo número primo após o " + primo + " é: " + proximoNumero);
}
}
package desafio;
public class Main {
public static void main(String[] args) {
System.out.println("\n4. Criando Numeros Primos\n");
System.out.println("Numeros Primos:");
VerificadorPrimo verificadorPrimo = new VerificadorPrimo();
verificadorPrimo.verificaSeEhPrimo(12);
verificadorPrimo.verificaSeEhPrimo(13);
verificadorPrimo.listarPrimos(11);
GeradorPrimo geradorPrimo = new GeradorPrimo();
geradorPrimo.gerarProximoPrimo(27);
}
}