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

В этой программе вы научитесь проверять, является ли число палиндромом в Java. Это делается с помощью цикла for и while.

Чтобы понять этот пример, вы должны знать следующие темы программирования Java:

  • Заявление Java if… else
  • Java while и do … while 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 остаток reverseInteger
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проверяется условие .

Интересные статьи...