Program Java na kontrolu, či je číslo palindróm alebo nie

V tomto programe sa naučíte skontrolovať, či je číslo v Jave palindróm alebo nie. To sa deje pomocou slučky for and while.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:

  • Vyhlásenie Java, ak … else
  • Java zatiaľ čo a robiť … zatiaľ čo Loop
  • Java pre slučku

Príklad 1: Program na kontrolu palindrómu pomocou cyklu while

 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."); ) )

Výkon

 121 je palindrómové číslo.

V tomto programe

  • Najskôr sa hodnota daného čísla (čísla) uloží do inej celočíselnej premennej, originalInteger. Je to preto, že musíme na konci porovnať hodnoty obráteného čísla a pôvodného čísla.
  • Potom sa slučka while použije na prepínanie čísel cez num, kým sa rovná 0.
    • Pri každej iterácii sa posledná číslica čísla uloží do zvyšku.
    • Potom sa zvyšok pridá do reversedInteger tak, že sa pridá na ďalšiu hodnotu miesta (vynásobenie 10).
    • Potom sa posledná číslica odstráni z čísla po rozdelení na 10.
  • Nakoniec sa porovnajú inverznéInteger a originálneInteger. Ak je rovnaké, jedná sa o palindrómové číslo. Ak nie, nie je.

Uskutočňujú sa tieto kroky vykonania:

Kroky vykonania palindrómu
počet num! = 0 zvyšok obrátenýInteger
121 pravda 1 0 * 10 + 1 = 1
12 pravda 2 1 * 10 + 2 = 12
1 pravda 1 12 * 10 + 1 = 121
0 nepravdivé - 121

Príklad 2: Program na kontrolu palindrómu pomocou cyklu for

 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."); ) )

Výkon

 11221 nie je palindróm.

Vo vyššie uvedenom programe sa namiesto slučky while používa slučka for.

Pri každej iterácii num /= 10sa vykoná a num !=0skontroluje sa stav.

Zaujímavé články...