import br.com.alvaro.primos.GeradorPrimo;
import br.com.alvaro.primos.NumerosPrimos;
import br.com.alvaro.primos.VerificadorPrimos;
import java.util.Scanner;
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Principal {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
VerificadorPrimos verificador = new VerificadorPrimos();
GeradorPrimo gerador = new GeradorPrimo();
NumerosPrimos lista = new NumerosPrimos();
int opcao = 0;
while (opcao != 4) {
System.out.println("\n======== MENU NÚMEROS PRIMOS =======");
System.out.println("1 - Verificar se é primo");
System.out.println("2 - Lista de primos até um limete");
System.out.println("3 - Gerar próximo primo");
System.out.println("4 - Sair");
System.out.println("Escolha: ");
opcao = scanner.nextInt();
switch (opcao){
case 1:
System.out.println("Digite um Numero: ");
int num = scanner.nextInt();
verificador.VerificarSeEhPrimo(num);
break;
case 2:
System.out.println("Listar Primos até: ");
int limete = scanner.nextInt();
lista.listarPrimos(limete);
break;
case 3:
System.out.print("Digite um número base: ");
int base = scanner.nextInt();
gerador.gerarProximoPrimo(base);
break;
case 4:
System.out.println("Encerrando...");
break;
default:
System.out.println("Opção invalida!");
}
}
scanner.close();
}
}
package br.com.alvaro.primos;
public class NumerosPrimos {
boolean verificadorPrimo(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 limete){
for(int i = 2; i <= limete; i++){
if(verificadorPrimo(i)){
System.out.println(i);
}
}
}
}
package br.com.alvaro.primos;
public class VerificadorPrimos extends NumerosPrimos{
public void VerificarSeEhPrimo(int numero){
if(verificadorPrimo(numero)){
System.out.println(numero + "é primo!");
}else{
System.out.println(numero + "Não é primo!");
}
}
}
package br.com.alvaro.primos;
public class GeradorPrimo extends NumerosPrimos {
private int ultimoPrimo = 1;
public void gerarProximoPrimo(int base){
int proximoNumero = ultimoPrimo + 1;
while (!verificadorPrimo(proximoNumero)){
proximoNumero++;
}
ultimoPrimo = proximoNumero;
System.out.println("Proximo primo: " + ultimoPrimo);
}
}