Identificar quais são os números primos

Faça um programa que solicite uma sequência de números inteiros e determine se eles são
primos ou não: (em Java)

montei esse programa mas não funciona, o que tem de errado?

import java.util.Scanner;

public class Primos {
    private Scanner s;
    private int vetor = 5;
    private int[] numero = new int [vetor];
    
    public Primos()
    {
        s = new Scanner(System.in);
    }
    public void lerDados()
    {
        for(vetor=0;vetor<=4;vetor++)
        {
            System.out.println("Escreva um numero qualquer: ");
            numero[vetor] = s.nextInt();
        }
    }
    public void identificar()
    {
        for(vetor=0;vetor<=4;vetor++)
        {
             if(numero[vetor]%1==0 && numero[vetor]%numero[vetor]==0)
           {
               System.out.println("--> "+numero[vetor]+" e um numero primo");
           }
             else{
                System.out.println("--> "+numero[vetor]+" nao e um numero primo");
                }
        }
        
    }
    public static void main (String args[])
    {
        Primos obj = new Primos();
        obj.lerDados();
        obj.identificar();
        
    }
}

O operador % calcula o resto da divisão. Mas qualquer número inteiro dividido por 1 terá resto zero. E qualquer número dividido por ele mesmo também terá resto zero.

Ou seja, sempre vai entrar nesse if.


Faça uma busca por “números primos” que já tem vários tópicos com códigos prontos :slight_smile:

1 curtida