在此程序中,您將學(xué)習(xí)檢查Kotlin中的數(shù)字是否為回文數(shù)。這是通過使用while循環(huán)完成的。
fun main(args: Array<String>) { var num = 121 var reversedInteger = 0 var remainder: Int val originalInteger: Int originalInteger = num //反轉(zhuǎn)整數(shù)存儲(chǔ)在變量中 while (num != 0) { remainder = num % 10 reversedInteger = reversedInteger * 10 + remainder num /= 10 } //如果orignalInteger和reversedInteger相等,則是回文 if (originalInteger == reversedInteger) println("$originalInteger 是回文.") else println("$originalInteger 不是回文.") }
運(yùn)行該程序時(shí),輸出為:
121 是回文.
注意:您可以將num的值更改為11221,然后在運(yùn)行程序時(shí)輸出為:
11221 不是回文.
以下是等效的Java代碼:檢查回文數(shù)的Java程序
在這個(gè)程序中
首先,給定數(shù)字(num)的值存儲(chǔ)在另一個(gè)整數(shù)originalInteger變量中。這是因?yàn)?,我們需要在最后比較反向數(shù)字和原始數(shù)字的值。
然后,使用while循環(huán)循環(huán)遍歷num,直到等于0。
每次迭代時(shí),num的最后一位存儲(chǔ)在中remainder。
然后,將余數(shù)添加到reversedInteger,以便將其添加到下一個(gè)位置值(乘以10)。
然后,除以10后從num中刪除最后一位數(shù)字。
最后,reversedInteger和originalInteger進(jìn)行比較。如果相等,則為回文數(shù)。如果不等,則不是。
以下是執(zhí)行的步驟:
num | num != 0 | remainder | reversedInteger |
---|---|---|---|
121 | 真 | 1 | 0 * 10 +1 = 1 |
12 | 真 | 2 | 1 * 10 + 2 = 12 |
1 | 真 | 1 | 12 * 10 +1 = 121 |
0 | 假 | -- | 121 |