English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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:
num | num != 0 | remainder | reversedInteger |
---|---|---|---|
121 | vero | 1 | 0 * 10 + 1 = 1 |
12 | vero | 2 | 1 * 10 + 2 = 12 |
1 | vero | 1 | 12 * 10 + 1 = 121 |
0 | falso | - | 121 |
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.