Програма Java для перевірки, чи є число паліндромним чи ні

У цій програмі ви навчитеся перевіряти, чи є число паліндром на Java. Це робиться за допомогою циклу for і while.

Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування Java:

  • Заява про Java, якщо … ще
  • Java в той час як і робити … в той час як Loop
  • Java для циклу

Приклад 1: Програма для перевірки паліндрому за допомогою циклу 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."); ) )

Вихідні дані

 121 - число паліндрому.

У цій програмі

  • По-перше, значення заданого числа (num) зберігається в іншій цілочисельній змінній, originalInteger. Це тому, що нам потрібно порівняти значення зворотного числа та вихідного числа в кінці.
  • Потім цикл while використовується для циклічного перегляду num, поки він не дорівнює 0.
    • На кожній ітерації остання цифра числа зберігається в залишку.
    • Потім залишок додається до reversedInteger таким чином, що він додається до наступного значення місця (множення на 10).
    • Потім остання цифра видаляється з числа після ділення на 10.
  • Нарешті, порівнюються reversedInteger та originalInteger. Якщо воно рівне, це число паліндрому. Якщо ні, то ні.

Ось кроки виконання, які мають місце:

Етапи виконання паліндрому
число число! = 0 залишок reversedInteger
121 правда 1 0 * 10 + 1 = 1
12 правда 2 1 * 10 + 2 = 12
1 правда 1 12 * 10 + 1 = 121
0 помилковий - 121

Приклад 2: Програма для перевірки паліндрому за допомогою циклу 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."); ) )

Вихідні дані

 11221 не є паліндромом.

У наведеній вище програмі замість циклу while використовується цикл for.

На кожній ітерації num /= 10виконується і num !=0перевіряється стан.

Цікаві статті...