Java programma, lai pārbaudītu, vai skaitlis ir Palindrome vai nav

Šajā programmā jūs iemācīsities pārbaudīt, vai Java ir vai nav palindroms. Tas tiek darīts, izmantojot cilni un kamēr.

Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:

  • Java, ja … cits paziņojums
  • Java kamēr un dari … kamēr Loop
  • Java lokam

1. piemērs: Palindrome pārbaudes programma, izmantojot while ciklu

 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."); ) )

Rezultāts

 121 ir palindroms skaitlis.

Šajā programmā

  • Pirmkārt, norādītā skaitļa (num) vērtība tiek saglabāta citā vesela skaitļa mainīgajā - originalInteger. Tas ir tāpēc, ka mums ir jāsalīdzina apgrieztā skaitļa un sākotnējā skaitļa vērtības beigās.
  • Pēc tam, kamēr cilpa tiek izmantota, lai ciklētu caur num, līdz tā ir vienāda ar 0.
    • Katrā atkārtojumā skaitļa pēdējais cipars tiek saglabāts atlikušajā daļā.
    • Pēc tam atlikumu pievieno reversedInteger tā, lai tas tiktu pievienots nākamajai vietas vērtībai (reizinot ar 10).
    • Pēc tam pēdējais cipars tiek noņemts no numura pēc dalīšanas ar 10.
  • Visbeidzot, tiek salīdzināti reversedInteger un originalInteger. Ja tas ir vienāds, tas ir palindroms skaitlis. Ja nē, tas tā nav.

Šeit ir izpildes darbības, kas notiek:

Palindroma izpildes soļi
num skaits! = 0 atlikušo reversedInteger
121 taisnība 1 0 * 10 + 1 = 1
12 taisnība 2 1 * 10 + 2 = 12
1 taisnība 1 12 * 10 + 1 = 121
0 nepatiesa - 121

2. piemērs: programma Palindrome pārbaudei, izmantojot cilpu

 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."); ) )

Rezultāts

 11221 nav palindroms.

Iepriekš minētajā programmā cilpa vietā tiek izmantota cilpa, kamēr cilpa.

Katrā atkārtojumā num /= 10tiek izpildīts un num !=0pārbaudīts stāvoklis.

Interesanti raksti...