Šioje programoje išmoksite patikrinti, ar Java yra palindromas, ar ne. Tai daroma naudojant „loop“ ir „while“.
Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:
- „Java“, jei… kitas pareiškimas
- „Java“ ir daryk … o „Loop“
- „Java for Loop“
1 pavyzdys: Palindromo tikrinimo programa naudojant while ciklą
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."); ) )
Rezultatas
121 yra palindromas.
Šioje programoje
- Pirma, nurodyto skaičiaus (numerio) vertė yra saugoma kitame sveikojo skaičiaus kintamajame „originalInteger“. Taip yra todėl, kad pabaigoje turime palyginti atvirkštinio skaičiaus ir pradinio skaičiaus vertes.
- Tada, kol ciklas naudojamas cikliui per num, kol jis bus lygus 0.
- Kiekvienoje iteracijoje paskutinis numerio skaitmuo saugomas likusioje dalyje.
- Tada likusi dalis pridedama prie reversedInteger taip, kad ji būtų pridėta prie kitos vietos vertės (padauginus iš 10).
- Paskutinis skaitmuo pašalinamas iš numerio po padalijimo iš 10.
- Galiausiai lyginami reversedInteger ir originalInteger. Jei lygus, tai yra palindrominis skaičius. Jei ne, taip nėra.
Čia pateikiami vykdymo veiksmai:
Palindromo vykdymo žingsniaiskaičius | skaičius! = 0 | priminimas | atvirkštinis skaičius |
---|---|---|---|
121 | tiesa | 1 | 0 * 10 + 1 = 1 |
12 | tiesa | 2 | 1 * 10 + 2 = 12 |
1 | tiesa | 1 | 12 * 10 + 1 = 121 |
0 | melagingas | - | 121 |
2 pavyzdys: Palindromo tikrinimo programa naudojant kilpą
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."); ) )
Rezultatas
11221 nėra palindromas.
Pirmiau pateiktoje programoje „loop“ naudojama vietoj „loop“.
Kiekvienoje iteracijoje num /= 10
vykdoma ir num !=0
tikrinama būklė .