English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Programm lernen Sie, wie man in Kotlin überprüft, ob eine Zahl ein Palindrom ist. Dies wird durch die Verwendung einer while-Schleife erreicht.
fun main(args: Array<String>) { var num = 121 var reversedInteger = 0 var remainder: Int val originalInteger: Int originalInteger = num //Der umgekehrte Ganzzahl wird in einer Variablen gespeichert while (num != 0) { remainder = num % 10 reversedInteger = reversedInteger * 10 + remainder num /= 10 } //Wenn originalInteger und reversedInteger gleich sind, dann ist es ein Palindrom if (originalInteger == reversedInteger) println("$originalInteger ist ein Palindrom.") else println("$originalInteger ist kein Palindrom.") }
Wenn das Programm ausgeführt wird, wird ausgegeben:
121 Ist ein Palindrom.
Hinweis:Sie können den Wert von num ändern, indem Sie11221, und wird beim Ausführen des Programms ausgegeben:
11221 Ist kein Palindrom.
Hier ist das äquivalente Java-Code:Java-Programm zum Überprüfen von Palindromzahlen
In diesem Programm
Zunächst wird der Wert der gegebenen Zahl (num) in eine andere Ganzzahl gespeichertoriginalIntegerWeil wir am Ende den Wert des umgekehrten und des ursprünglichen Ziffernstrings vergleichen müssen.
Dann wird die while-Schleife verwendet, um num zu durchlaufen, bis sie 0 erreicht.
Bei jedem Iterationsschritt wird das letzte Zeichen von num in remainder gespeichert.
Dann wird der Rest zum reversedInteger hinzugefügt, um ihn an die nächste Positionswert hinzuzufügen (multipliziert mit10)
Dann, teile durch10Zuletzt wird das letzte Zeichen von num entfernt.
Schließlich wird reversedInteger mit originalInteger verglichen. Wenn sie gleich sind, handelt es sich um ein Palindrom. Wenn sie nicht gleich sind, ist es kein Palindrom.
Hier sind die durchgeführten Schritte:
num | num != 0 | remainder | reversedInteger |
---|---|---|---|
121 | Wahr | 1 | 0 * 10 +1 = 1 |
12 | Wahr | 2 | 1 * 10 + 2 = 12 |
1 | Wahr | 1 | 12 * 10 +1 = 121 |
0 | Falsch | -- | 121 |