Program Java ke kontrole, zda je číslo Palindrom nebo ne

V tomto programu se naučíte zkontrolovat, zda je číslo v Javě palindrom nebo ne. To se provádí pomocí smyčky for and while.

Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:

  • Prohlášení Java, pokud … else
  • Zatímco Java a dělat … zatímco Loop
  • Java pro smyčku

Příklad 1: Program ke kontrole Palindromu pomocí smyčky 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ýstup

 121 je číslo palindromu.

V tomto programu

  • Nejprve je hodnota daného čísla (num) uložena v jiné celočíselné proměnné, originalInteger. Je to proto, že musíme na konci porovnat hodnoty obráceného čísla a původního čísla.
  • Potom se smyčka while používá k procházení num, dokud se nebude rovnat 0.
    • Při každé iteraci je poslední číslice čísla uložena ve zbytku.
    • Potom se zbytek přidá k obrácenémuIntegeru tak, že se přidá k další hodnotě místa (vynásobení 10).
    • Poté je poslední číslice odstraněna z čísla po dělení 10.
  • Nakonec jsou porovnány reversedInteger a originalInteger. Pokud je stejné, jedná se o palindromové číslo. Pokud ne, není.

Zde jsou prováděcí kroky:

Kroky provedení palindromu
počet num! = 0 zbytek obrácenéInteger
121 skutečný 1 0 * 10 + 1 = 1
12 skutečný 2 1 * 10 + 2 = 12
1 skutečný 1 12 * 10 + 1 = 121
0 Nepravdivé - 121

Příklad 2: Program ke kontrole Palindromu pomocí smyčky 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ýstup

 11221 není palindrom.

Ve výše uvedeném programu se místo smyčky while používá smyčka for.

Při každé iteraci num /= 10se provede a num !=0zkontroluje se podmínka .

Zajímavé články...