Algoritmo simples em Java para verificar se um número e primo

Na formação do conjunto dos números Naturais existe um tipo de numeral que possui a propriedade de ser divisível somente por um e por ele mesmo, recebendo a denominação de número primo.

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - Java - TUTORIAL

Última atualização em: | 64702 Visualizações

Veja neste artigo como verificar quais números são primos de maneira fácil usando Java.

Como verificar se um número é primo

Em Java, possuímos um operador que retorna o resto da divisão (%), ou seja, sempre que utilizado este operador, o retorno será o valor que sobrar da divisão inteira, veja o exemplo:

8 % 2 = 0, 0 será a sobra da operação, ou seja, 8 pode ser dividido por 2; 7 % 2 = 1, onde 1 será o resto da divisão, 7 não pode ser dividido por 2, mas o 6 sim, então 7-6 = 1

Utilizando esta ideia e sabendo o que é um número primo, que pode ser dividido por 1 ou por ele mesmo, podemos criar uma logica para saber se o número é primo ou não. Em java pode ser escrito da seguinte forma:

private static boolean ehPrimo(int numero) {
    for (int j = 2; j < numero; j++) {
        if (numero % j == 0)
            return false;   
    }
    return true;
}

Explicando o método, temos, um for que percorre todos os números entre 2 até um número a menos que o número passado por parâmetro no método (número que deve ser verificado), verificando se o resto da divisão inteira é igual a 0, se for significa que o número não é primo, pois pode ser dividido por outros números além de 1 e ele mesmo. Caso nenhuma divisão retornar 0, então temos um número primo.

Este método pode ser utilizado de várias formas na sua aplicação. Abaixo segue dois exemplos utilizando o método para verificar números primos.

Verificando se os números informados são primos

Segue um exemplo de uma classe que vai mostrar uma modal solicitando quantos números desejar, e vai verificar quais dos números informados são primos e vai mostrar uma saída com os números primos.

import javax.swing.JOptionPane;
 
public class Primos {
     
    public static void main(String[] args) {    
        int n[] = new int[2];    
         
        for (int i = 0; i < n.length; i++) {    
            n[i] = Integer.parseInt(JOptionPane.showInputDialog("Digite o " + (1 + i) + "º numero"));    
        }
         
        for (int i = 0; i < n.length; i++) {
            if( ehPrimo(n[i]) )
                System.out.println(n[i] + " é primo. Posição no vetor: " + i);
        }    
    }
     
    private static boolean ehPrimo(int numero) {
        for (int j = 2; j < numero; j++) {
            if (numero % j == 0)
                return false;   
        }
        return true;
    }
}

Listando todos os números primos de 1 a 100

Esta outra classe mostra as saídas de todos os números que estão entre o intervalo de 1 a 100, e mostra no console todos os números que são primos.

public class PrimosMainTodos {
 
    public static void main(String[] args) {    
        for (int i = 2; i <= 100; i++) {
            if( ehPrimo(i) )
                System.out.println(i + " é primo.");
        }    
    }
 
    private static boolean ehPrimo(int numero) {
        for (int j = 2; j < numero; j++) {
            if (numero % j == 0)
                return false;   
        }
        return true;
    }
}

Para trabalhar com números primos em Java é muito simples, não existe dificuldade após entender como pode ser utilizado o resto da divisão inteira que a linguagem possui.


Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.


Apoiadores

Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!