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

В тази програма ще се научите да проверявате дали даден номер е палиндром или не в Java. Това се прави с помощта на цикъл for и while.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:

  • Java, ако … друго Изявление
  • Java докато и да … докато Loop
  • Java за Loop

Пример 1: Програма за проверка на Palindrome с помощта на цикъл 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 е число на палиндром.

В тази програма,

  • Първо, стойността на дадено число (число) се съхранява в друга целочислена променлива, 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: Програма за проверка на Palindrome, използвайки 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се проверява състоянието.

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