Program Java za preverjanje, ali je številka Palindrome ali ne

V tem programu se boste naučili preverjati, ali je številka v Javi palindrom ali ne. To se naredi z uporabo zanke for in while.

Če želite razumeti ta primer, morate poznati naslednje programske teme Java:

  • Izjava Java, če … drugače
  • Java while in do … while Loop
  • Java za zanko

Primer 1: Program za preverjanje palindroma z uporabo zanke 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."); ) )

Izhod

 121 je palindromsko število.

V tem programu

  • Najprej se vrednost dane številke (num) shrani v drugo celoštevilčno spremenljivko, originalInteger. To je zato, ker moramo na koncu primerjati vrednosti obrnjenega števila in izvirnega števila.
  • Nato se zanka while uporablja za zanko skozi num, dokler ni enaka 0.
    • Na vsaki ponovitvi se zadnja številka števila shrani v preostanek.
    • Nato se ostanek doda reversedInteger tako, da se doda naslednji naslednji vrednosti (množenje z 10).
    • Nato se zadnja številka odstrani iz števila po deljenju z 10.
  • Na koncu se primerjata reversedInteger in originalInteger. Če je enako, je to število palindroma. Če ne, ni.

Tu so koraki za izvedbo:

Koraki izvedbe palindroma
številka število! = 0 preostanek reversedInteger
121 prav 1. 0 * 10 + 1 = 1
12. prav 2. 1 * 10 + 2 = 12
1. prav 1. 12 * 10 + 1 = 121
0 napačno - 121

Primer 2: Program za preverjanje palindroma z uporabo zanke 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."); ) )

Izhod

 11221 ni palindrom.

V zgornjem programu se zanka for uporablja namesto zanke while.

Na vsaki ponovitvi num /= 10se izvrši in num !=0preveri stanje.

Zanimive Članki...