Ebben a programban megtanulja ellenőrizni, hogy egy szám palindrom-e vagy sem Java-ban. Ez a for and while ciklus használatával történik.
A példa megértéséhez ismernie kell a következő Java programozási témákat:
- Java if… else nyilatkozat
- Java közben és csináld … míg a hurok
- Java a hurokhoz
1. példa: Program a Palindrome ellenőrzésére a while ciklus használatával
public class Palindrome ( public static void main(String() args) ( int num = 121, reversedInteger = 0, remainder, originalInteger; originalInteger = num; // reversed integer is stored in variable while( num != 0 ) ( remainder = num % 10; reversedInteger = reversedInteger * 10 + remainder; num /= 10; ) // palindrome if orignalInteger and reversedInteger are equal if (originalInteger == reversedInteger) System.out.println(originalInteger + " is a palindrome."); else System.out.println(originalInteger + " is not a palindrome."); ) )
Kimenet
A 121 egy palindrom szám.
Ebben a programban
- Először a megadott szám (num) értékét egy másik egész változó, az originalInteger tárolja. Ennek az az oka, hogy össze kell hasonlítanunk a fordított szám és az eredeti szám értékét a végén.
- Ezután egy darab ciklust használunk arra, hogy áthidaljuk a számot, amíg az meg nem egyezik 0-val.
- Minden iterációnál a szám utolsó számjegye tárolódik a maradékban.
- Ezután a maradékot hozzáadjuk a fordítottIntegerhez úgy, hogy hozzáadódjon a következő helyértékhez (10-zel szorozva).
- Ezután az utolsó számjegy eltávolításra kerül a számból a 10-es osztás után.
- Végül összehasonlítjuk a fordított és az eredeti egész számot. Ha egyenlő, akkor ez egy palindrom szám. Ha nem, akkor nem az.
Íme a végrehajtási lépések:
Palindrome végrehajtási lépésekszám | szám! = 0 | maradék | fordított Integer |
---|---|---|---|
121 | igaz | 1 | 0 * 10 + 1 = 1 |
12. | igaz | 2 | 1 * 10 + 2 = 12 |
1 | igaz | 1 | 12 * 10 + 1 = 121 |
0 | hamis | - | 121 |
2. példa: Program a Palindrome ellenőrzésére hurok segítségével
public class Palindrome ( public static void main(String() args) ( int num = 11221, reversedInteger = 0, remainder, originalInteger; originalInteger = num; // reversed integer is stored in variable for( ;num != 0; num /= 10 ) ( remainder = num % 10; reversedInteger = reversedInteger * 10 + remainder; ) // palindrome if orignalInteger and reversedInteger are equal if (originalInteger == reversedInteger) System.out.println(originalInteger + " is a palindrome."); else System.out.println(originalInteger + " is not a palindrome."); ) )
Kimenet
A 11221 nem palindrom.
A fenti programban a ciklust a while ciklus helyett használják.
Minden iterációnál num /= 10
végrehajtják és num !=0
ellenőrzik az állapotot .