English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java управление потоком

Java массив

Java направленный объект (I)

Java направленный объект (II)

Java направленный объект (III)

Обработка исключений Java

Java список (List)

Java Queue (очередь)

Java Map съёмка

Java Set съёмка

Java ввод/вывод (I/O)

Java Reader/Writer

Java другие темы

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

Java полная коллекция примеров

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

Пример 1: Программа для проверки palindrome с использованием цикла 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.

Вот шаги выполнения:

Шаги выполнения palindrome
numnum != 0remainderreversedInteger
121true10 * 10 + 1 = 1
12true21 * 10 + 2 = 12
1true112 * 10 + 1 = 121
0false
-121

Пример 2: Программа для проверки palindrome с использованием цикла for

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.

Java полная коллекция примеров