Java-program för att kontrollera om ett nummer är palindrom eller inte

I det här programmet lär du dig att kontrollera om ett nummer är palindrom eller inte i Java. Detta görs genom att använda for and while loop.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java if … else Uttalande
  • Java medan och gör … medan Loop
  • Java för Loop

Exempel 1: Program för att kontrollera palindrom med hjälp av en 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."); ) )

Produktion

 121 är ett palindromnummer.

I detta program,

  • Först lagras det angivna talets (num) värde i ett annat heltalsvariabel, originalInteger. Detta beror på att vi måste jämföra värdena för det omvända numret och det ursprungliga numret i slutet.
  • Sedan används en stundslinga för att slinga igenom num tills den är lika med 0.
    • Vid varje iteration lagras den sista siffran i num i resten.
    • Därefter läggs resten till reversedInteger så att det läggs till nästa platsvärde (multiplicering med 10).
    • Därefter tas den sista siffran bort från num efter division med 10.
  • Slutligen jämförs reversedInteger och originalInteger. Om det är lika är det ett palindromnummer. Om inte, så är det inte.

Här är exekveringsstegen som äger rum:

Steg för utförande av palindrom
antal num! = 0 resten reversedInteger
121 Sann 1 0 * 10 + 1 = 1
12 Sann 2 1 * 10 + 2 = 12
1 Sann 1 12 * 10 + 1 = 121
0 falsk - 121

Exempel 2: Program för att kontrollera Palindrome med för 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."); ) )

Produktion

 11221 är inte ett palindrom.

I ovanstående program används för loop istället för en while-loop.

Vid varje iteration num /= 10körs och tillståndet num !=0kontrolleras.

Intressanta artiklar...