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

Postado em por Wolmir Cezer Garbin em Java | 113 Visualizações
Última atualização em:

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.

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.

Wolmir Cezer Garbin

Wolmir Cezer Garbin


Sou formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

Posts relacionados


Code Conference

Esta é uma conferência de código realizada na cidade de Pato Branco para dissiminar tendências e informações sobre programação e novas tecnológias

Veja mais sobre o Code Conference

Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar