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 palindromunum | 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 /= 10
jest wykonywany i num !=0
sprawdzany warunek .