English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java полная коллекция примеров
В этой программе вы узнаете, как с помощью Java проверить, является ли число palindrome. Это делается с помощью циклов for и while.
public class Palindrome { public static void main(String[] args) { int num = 121, reversedInteger = 0, remainder, originalInteger; originalInteger = num; //Обратное целое число хранится в переменной while(num != 0) { remainder = num % 10; reversedInteger = reversedInteger * 10 + remainder; num /= 10; {} //Если originalInteger и reversedInteger равны, то это palindrome if (originalInteger == reversedInteger) System.out.println(originalInteger + " является palindrome."); else System.out.println(originalInteger + " не является palindrome."); {} {}
При выполнении этой программы вывод будет следующим:
121 является palindrome.
В этой программе
Сначала, значение числа (num) хранится в другом целом числеoriginalIntegerВ переменной. Потому что, нам нужно сравнить значения обратного числа и исходного числа в конце.
Затем, используйте цикл while для итерации num, пока он не станет равен 0.
В каждом итерации num的最后一位 хранится в remainder.
Затем, добавьте остаток к reversedInteger, чтобы добавить его к следующему значению位置的 значения (умноженному на 10).
Затем, разделите на 10 и удалите последний цифровой символ из num.
В конце, сравните reversedInteger и originalInteger. Если они равны, то это palindrome. Если нет, то это не palindrome.
Вот шаги выполнения:
num | num != 0 | remainder | reversedInteger |
---|---|---|---|
121 | true | 1 | 0 * 10 + 1 = 1 |
12 | true | 2 | 1 * 10 + 2 = 12 |
1 | true | 1 | 12 * 10 + 1 = 121 |
0 | false | - | 121 |
public class Palindrome { public static void main(String[] args) { int num = 11221, reversedInteger = 0, remainder, originalInteger; originalInteger = num; // Обратное целое хранится в переменной for (; num != 0; num /= 10 ) { remainder = num % 10; reversedInteger = reversedInteger * 10 + remainder; {} // Палиндром, если исходное целое и обратное целое равны if (originalInteger == reversedInteger) System.out.println(originalInteger + " является палиндромом."); else System.out.println(originalInteger + " не является палиндромом."); {} {}
При выполнении этой программы вывод будет следующим:
11221 не является палиндромом.
В上面的 программе используется цикл for вместо цикла while.
В каждом итерации num /= 10 выполняется и проверяется условие num != 0.