Java-program for å sjekke om et tall er palindrom eller ikke

I dette programmet lærer du å sjekke om et tall er palindrom eller ikke i Java. Dette gjøres ved å bruke for og while loop.

For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:

  • Java if… else Erklæring
  • Java mens og gjør… mens Loop
  • Java for Loop

Eksempel 1: Program for å sjekke palindrom ved hjelp av mens loop

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

Produksjon

 121 er et palindromnummer.

I dette programmet,

  • Først lagres gitt tall (num) sin verdi i et annet heltallvariabel, originalInteger. Dette er fordi vi må sammenligne verdiene til omvendt nummer og originaltall på slutten.
  • Deretter brukes en while-løkke til å løpe gjennom num til den er lik 0.
    • På hver iterasjon blir det siste sifferet på numre lagret i resten.
    • Deretter blir resten lagt til reversedInteger slik at den legges til neste plassverdi (multipliser med 10).
    • Deretter fjernes det siste sifferet fra num etter divisjon med 10.
  • Til slutt sammenlignes reversedInteger og originalInteger. Hvis det er likt, er det et palindromtall. Hvis ikke, er det ikke det.

Her er gjennomføringstrinnene som finner sted:

Palindrome utførelse trinn
num num! = 0 rest reversedInteger
121 ekte 1 0 * 10 + 1 = 1
12 ekte 2 1 * 10 + 2 = 12
1 ekte 1 12 * 10 + 1 = 121
0 falsk - 121

Eksempel 2: Program for å sjekke palindrom ved hjelp av for loop

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

Produksjon

 11221 er ikke et palindrom.

I programmet ovenfor brukes for loop i stedet for en while-loop.

På hver iterasjon num /= 10utføres og tilstanden num !=0blir sjekket.

Interessante artikler...