Java program za provjeru je li broj Palindrom ili nije

U ovom programu naučit ćete provjeriti je li neki broj palindrom na Javi. To se postiže pomoću petlje for i while.

Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:

  • Java if … else Izjava
  • Java while and do … while Loop
  • Java za petlju

Primjer 1: Program za provjeru palindroma pomoću while petlje

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

Izlaz

 121 je palindromski broj.

U ovom programu,

  • Prvo, zadana vrijednost broja (num) pohranjuje se u drugu cjelobrojnu varijablu, originalInteger. To je zato što na kraju moramo usporediti vrijednosti obrnutog broja i izvornog broja.
  • Zatim se koristi loop za petlju kroz num dok ne bude jednako 0.
    • Na svakoj se iteraciji zadnja znamenka broja pohranjuje u ostatak.
    • Zatim se ostatak dodaje reversedInteger tako da se dodaje sljedećoj vrijednosti mjesta (množenje sa 10).
    • Zatim se posljednja znamenka uklanja iz broja nakon dijeljenja s 10.
  • Na kraju se uspoređuju reversedInteger i originalInteger. Ako je jednak, to je palindromski broj. Ako nije, nije.

Evo koraka izvršenja koji se odvijaju:

Koraci izvršenja palindroma
num broj! = 0 ostatak reversedInteger
121 pravi 1 0 * 10 + 1 = 1
12 pravi 2 1 * 10 + 2 = 12
1 pravi 1 12 * 10 + 1 = 121
0 lažno - 121

Primjer 2: Program za provjeru palindroma pomoću petlje 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."); ) )

Izlaz

 11221 nije palindrom.

U gore navedenom programu umjesto petlje while koristi se petlja for.

Na svakoj se iteraciji num /= 10izvršava i num !=0provjerava stanje.

Zanimljivi članci...