Program Java do sprawdzania, czy liczba jest palindromem, czy nie

W tym programie nauczysz się sprawdzać, czy liczba jest palindromem w Javie. Odbywa się to za pomocą pętli for i while.

Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:

  • Instrukcja Java if… else
  • Java while i zrób… while Loop
  • Java for Loop

Przykład 1: Program do sprawdzania palindromu przy użyciu pętli 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."); ) )

Wynik

 121 to liczba palindromowa.

W tym programie

  • Po pierwsze, podana wartość liczby (num) jest przechowywana w innej zmiennej całkowitej, originalInteger. Dzieje się tak, ponieważ na końcu musimy porównać wartości liczby odwróconej i liczby pierwotnej.
  • Następnie pętla while jest używana do przechodzenia przez num, aż będzie równa 0.
    • W każdej iteracji ostatnia cyfra num jest przechowywana w pozostałej części.
    • Następnie reszta jest dodawana do reverseInteger w taki sposób, że jest dodawana do następnej wartości miejsca (mnożenie przez 10).
    • Następnie ostatnia cyfra jest usuwana z num po podzieleniu przez 10.
  • Na koniec porównywane są reverseInteger i originalInteger. Jeśli jest równa, jest to liczba palindromowa. Jeśli nie, to nie jest.

Oto kroki wykonania, które mają miejsce:

Kroki wykonania palindromu
num num! = 0 reszta reverseInteger
121 prawdziwe 1 0 * 10 + 1 = 1
12 prawdziwe 2 1 * 10 + 2 = 12
1 prawdziwe 1 12 * 10 + 1 = 121
0 fałszywy - 121

Przykład 2: Program do sprawdzania palindromu przy użyciu pętli 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."); ) )

Wynik

 11221 nie jest palindromem.

W powyższym programie pętla for jest używana zamiast pętli while.

Przy każdej iteracji num /= 10jest wykonywany i num !=0sprawdzany warunek .

Interesujące artykuły...