У овом програму ћете научити да проверите да ли је број палиндром или не у Јави. То се постиже коришћењем фор и вхиле петље.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:
- Изјава за Јава ако … друго
- Јава вхиле и уради … вхиле Лооп
- Јава за петљу
Пример 1: Програм за проверу палиндрома помоћу вхиле петље
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 је палиндромски број.
У овом програму,
- Прво, дата вредност (нум) се чува у другој целобројној променљивој, оригиналИнтегер. То је зато што морамо да упоредимо вредности обрнутог броја и оригиналног броја на крају.
- Затим се вхиле петља користи за циклус кроз нум док не буде једнако 0.
- На свакој итерацији, последња цифра броја се чува у остатку.
- Затим се остатак додаје реверседИнтегер тако да се додаје следећој вредности места (множење са 10).
- Затим се последња цифра уклања из броја након дељења са 10.
- На крају се упоређују реверседИнтегер и оригиналИнтегер. Ако је једнак, то је број палиндрома. Ако није, није.
Ево корака извршења који се одвијају:
Кораци извршења палиндроманум | нум! = 0 | остатак | реверседИнтегер |
---|---|---|---|
121 | истина | 1 | 0 * 10 + 1 = 1 |
12 | истина | 2 | 1 * 10 + 2 = 12 |
1 | истина | 1 | 12 * 10 + 1 = 121 |
0 | лажно | - | 121 |
Пример 2: Програм за проверу Палиндрома помоћу фор петље
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 није палиндром.
У горњем програму, фор петља се користи уместо вхиле петље.
На свакој итерацији num /= 10
се извршава и num !=0
проверава стање .