English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

教程基础Java

Controllo dei flussi Java

Array Java

Orientamento ad oggetti Java (I)

Orientamento ad oggetti Java (II)

Orientamento ad oggetti Java (III)

Gestione delle eccezioni Java

List Java

Queue (coda) Java

Map di Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Programma Java per controllare se un numero è un numero primo

Completo di esempi Java

In questo articolo, imparerete a controllare se un numero è un numero primo. Questo viene fatto utilizzando il ciclo for e while in Java.

Un numero primo è un numero che può essere diviso solo da due numeri: 1 e se stesso. Pertanto, se un numero può essere diviso da altri numeri oltre 1 e se stesso, non è un numero primo.

Esempio 1: Programma per controllare i numeri primi utilizzando il ciclo for

public class Prime {
    public static void main(String[] args) {
        int num = 29;
        boolean flag = false;
        for(int i = 2; i <= num/2; ++i)
        {
            // Condizione non di numero primo
            if (num % i == 0)
            {
                flag = true;
                break;
            }
        }
        if (!flag)
            System.out.println(num + " è un numero primo");
        else
            System.out.println(num + " non è un numero primo");
    }
}

Risultato di output

29 è un numero primo

Nel programma sopra, il ciclo for viene utilizzato per determinare se il numero dato num è un numero primo.

Ecco, notate che partiamo dal 2 e iteriamo fino a num / 2. Questo perché un numero non può essere diviso da più della metà dei suoi numeri interi.

All'interno del ciclo for, controlliamo se il numero è divisibile da qualsiasi altro numero nella gamma data (2...num/2).

  • Se num viene diviso, flag viene impostato su true e usciamo dal ciclo. Questo determina che num non è un numero primo.

  • Se num non può essere diviso da nessun altro numero, flag diventa false e num è un numero primo.

Esempio 2: Programma per controllare i numeri primi utilizzando il ciclo while

public class Prime {
    public static void main(String[] args) {
        int num = 33, i = 2;
        boolean flag = false;
        while (i <= num / 2)
        {
            // Condizione non di numero primo
            if (num % i == 0)
            {
                flag = true;
                break;
            }
            ++i;
        }
        if (!flag)
            System.out.println(num + " è un numero primo");
        else
            System.out.println(num + " non è un numero primo");
    }
}

Risultato di output

33 non è un numero primo

Nel programma sopra, sostituisci il ciclo for con il ciclo while. Il ciclo esegue fino a quando i <= num / 2. In ogni iterazione, controlla se num è divisibile per i e aggiungi 1 al valore di i.

Visita questa pagina per sapere comeMostra tutti i numeri primi tra due intervalli di tempo

Completo di esempi Java