Olá, to fazendo um programinha de verificação de números primos.
A entrada do número é feita pelo teclado, podendo o usuário inserir uma série de números quaisquer. E o objetivo do programa é retornar a quantidade de números que são primos, dentre os que foram inseridos.
A minha dúvida está no método contaPrimos. Usei o for, mas ele não tá entrando em loop, não to conseguindo fazer isso. Ou ele pára logo no início ou ele fica em loop infinito. Alguém poderia ajudar? Valeu
import java.util.Scanner;
public class Tarefa0505{
public static void main (String [] args){
Scanner s = new Scanner(System.in);
int numero = s.nextInt();
while (s.hasNext()) {
if (s.hasNextInt()) {
numero = s.nextInt();
} else {
break;
}
}
System.out.println(contaPrimos(numero));
}
public static boolean ehPrimo(int numero){
if (numero == 1) {
return false;
}
if (numero % 2 == 0 && numero != 2) {
return false;
}
int raiz = (int)Math.sqrt(numero);
for(int i=3; i <= raiz; i+=2) {
if (numero % i == 0) {
return false;
}
}
return true;
}
public static int contaPrimos(int numero) {
int contaPrimos = 0;
for(int i = numero; i == numero; i++) {
if (ehPrimo(numero)) {
contaPrimos++;
}
}
return contaPrimos;
}
}
Procurei aqui no forum, tem até situações parecidas, mas não ficou claro pra mim a parte do For