Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Java-проверка чисел-палиндромов: алгоритмы с while и for циклами

Что такое число-палиндром?

Число-палиндром читается одинаково слева направо и справа налево. Примеры: 121, 393, 48084. Они демонстрируют вертикальную осевую симметрию и часто используются в алгоритмических головоломках.

В Java проверки палиндромов часты в собеседованиях и кодинг-челленджах. Алгоритм прост, но может быть реализован несколькими способами.

Обзор алгоритма

Проверка с while-циклом

Ниже лаконичная Java-программа, использующая while цикл для реверса числа и определения палиндрома. Код печатает промежуточные шаги для иллюстрации процесса.

package com.guru99;
public class PalindromeNum {
    public static void main(String[] args) {
        int inputNumber = 171; // число для проверки
        int reversed = 0;
        int temp = inputNumber;
        while (temp > 0) {
            int lastDigit = temp % 10;
            reversed = (reversed * 10) + lastDigit;
            temp /= 10;
        }
        System.out.println("Reversed number: " + reversed);
        if (reversed == inputNumber) {
            System.out.println("Number is a palindrome.");
        } else {
            System.out.println("Number is not a palindrome.");
        }
    }
}

Вывод

Reversed number: 171
Number is a palindrome.

Проверка с for-циклом

Та же логика может быть выражена через for цикл, что может быть предпочтительнее в контекстах, где счетчик цикла естественнее выражать как декрементирующий индекс.

package com.guru99;
public class PalindromeNum {
    public static void main(String[] args) {
        int inputNumber = 185; // число для проверки
        int reversed = 0;
        int temp = inputNumber;
        for (; temp > 0; temp /= 10) {
            int lastDigit = temp % 10;
            reversed = (reversed * 10) + lastDigit;
        }
        System.out.println("Reversed number: " + reversed);
        if (reversed == inputNumber) {
            System.out.println("Number is a palindrome.");
        } else {
            System.out.println("Number is not a palindrome.");
        }
    }
}

Вывод

Reversed number: 581
Number is not a palindrome.

Рассмотрения и лучшие практики

Для более детальных объяснений см. GeeksforGeeks и Stack Overflow discussion on reversing numbers.

java

  1. Циклы while и do-while в C#: синтаксис, примеры и лучшие практики
  2. Цикл for в C#: синтаксис, поток выполнения и практические примеры
  3. Java Hello World: ваша первая программа
  4. Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
  5. Java-программа для определения, является ли число простым
  6. Java-программа для вывода простых чисел от 1 до 100 — пошаговое руководство
  7. Генерация последовательности Фибоначчи в Java: примеры for, while и рекурсии
  8. Java-программа для идентификации чисел Армстронга с использованием for-цикла
  9. Java-проверка чисел-палиндромов: алгоритмы с while и for циклами
  10. Освоение циклов Python: for, while, break, continue и enumerate