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

Tutorial di base Java

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Gestione delle eccezioni Java

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Programma Java per controllare se un numero è un palindromo

Completa guida di esempio Java

In questo programma, imparerai come controllare se un numero è un palindromo utilizzando Java. Questo viene fatto utilizzando i cicli for e while.

Esempio 1: Programma per controllare se un palindromo utilizzando il ciclo while

public class Palindrome {
    public static void main(String[] args) {
        int num = 121, reversedInteger = 0, remainder, originalInteger;
        originalInteger = num;
        // L'intero inverso è memorizzato nella variabile
        while(num != 0)
        {
            remainder = num % 10;
            reversedInteger = reversedInteger * 10 + remainder;
            num /= 10;
        }
        // Se originalInteger e reversedInteger sono uguali, è un palindromo
        if (originalInteger == reversedInteger)
            System.out.println(originalInteger + " è un palindromo.");
        else
            System.out.println(originalInteger + " non è un palindromo.");
    }
}

Quando si esegue il programma, l'output è:

121 è un palindromo.

In questo programma

  • Prima, il valore del numero dato (num) viene memorizzato in un altro interooriginalIntegerNella variabile. Questo è perché, dobbiamo confrontare i valori del numero inverso e del numero originale alla fine.

  • Poi, utilizzare un ciclo while per esplorare num fino a quando non è uguale a 0.

    • In ogni iterazione, l'ultimo numero di num viene memorizzato in remainder.

    • Poi, aggiungere il resto a reversedInteger per aggiungerlo alla prossima posizione (moltiplicato per 10).

    • Poi, dividere per 10 e rimuovere l'ultimo numero da num.

  • Infine, confrontare reversedInteger e originalInteger. Se sono uguali, è un numero palindromo. Se non lo sono, non lo è.

Di seguito sono riportati i passaggi di esecuzione:

Passaggi dell'esecuzione del palindromo
numnum != 0remainderreversedInteger
121vero10 * 10 + 1 = 1
12vero21 * 10 + 2 = 12
1vero112 * 10 + 1 = 121
0falso
-121

Esempio 2: Programma per controllare se un palindromo utilizzando il ciclo for

public class Palindrome {
    public static void main(String[] args) {
        int num = 11221, reversedInteger = 0, remainder, originalInteger;
        originalInteger = num;
        //L'intero invertito viene memorizzato nella variabile
        for (; num != 0; num /= 10 )
        {
            remainder = num % 10;
            reversedInteger = reversedInteger * 10 + remainder;
        }
        //Palindromo, se l'intero originale e l'intero invertito sono uguali
        if (originalInteger == reversedInteger)
            System.out.println(originalInteger + " è un palindromo.");
        else
            System.out.println(originalInteger + " non è un palindromo.");
    }
}

Quando si esegue il programma, l'output è:

11221 non è un palindromo.

Nel programma sopra, viene utilizzato un ciclo for invece di un ciclo while.

In ogni iterazione, num /= 10 viene eseguito e verificato il condizione num != 0.

Completa guida di esempio Java