Java programm, et kontrollida, kas number on Palindrome või mitte

Selles programmis õpite kontrollima, kas number on Java-s palindroomne või mitte. Selleks kasutatakse loopi ja while kasutamist.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:

  • Java kui … muidu avaldus
  • Java ajal ja tee … Loopi ajal
  • Java aasale

Näide 1: Palindrome'i kontrollimise programm loopi abil

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

Väljund

 121 on palindroomarv.

Selles programmis

  • Esiteks, antud numbri (num) väärtus salvestatakse teise täisarvu muutujasse OriginalInteger. Seda seetõttu, et peame võrdlema lõpus pööratud arvu ja algse numbri väärtusi.
  • Seejärel kasutatakse numbri läbimiseks mõnda aega silmust, kuni see on võrdne 0-ga.
    • Igal iteratsioonil salvestatakse ülejäänud arv numbri järgi.
    • Seejärel lisatakse ülejäänud osa pöördarvule Integer selliselt, et see lisatakse järgmisele kohaväärtusele (korrutades kümnega).
    • Seejärel eemaldatakse viimane number numbrist pärast jagamist 10-ga.
  • Lõpuks võrreldakse reversedInteger ja originalInteger. Kui see on võrdne, on see palindroomarv. Kui ei, siis pole.

Siin on toimingud, mis toimuvad:

Palindrome'i täitmise etapid
arv arv! = 0 ülejäänud osa vastupidine täisarv
121 tõsi 1 0 * 10 + 1 = 1
12 tõsi 2 1 * 10 + 2 = 12
1 tõsi 1 12 * 10 + 1 = 121
0 vale - 121

Näide 2: Programm Palindrome'i kontrollimiseks silmusega

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

Väljund

 11221 ei ole palindroom.

Ülalolevas programmis kasutatakse loopi jaoks loopi asemel.

Igal iteratsioonil num /= 10käivitatakse ja num !=0kontrollitakse seisukorda .

Huvitavad Artiklid...