在此程序中,您將學習在Kotlin中使用while循環(huán)反轉(zhuǎn)數(shù)字。
fun main(args: Array<String>) { var num = 1234 var reversed = 0 while (num != 0) { val digit = num % 10 reversed = reversed * 10 + digit num /= 10 } println("反轉(zhuǎn)后的數(shù)字: $reversed") }
運行該程序時,輸出為:
反轉(zhuǎn)后的數(shù)字: 4321
在此程序中,while循環(huán)用于按以下步驟反轉(zhuǎn)數(shù)字:
首先,將num除以10的余數(shù)存儲在變量digit中。
現(xiàn)在,digit包含num的最后一位,即4,然后將digit乘以10后,將其添加到反向變量中。乘以10將在反向數(shù)中添加一個新位置。
十分之一乘以10可得到第十位,十分之一則可得到百分數(shù),依此類推。 在這種情況下,reversed包含0 * 10 + 4 =4。
然后num除以10,因此現(xiàn)在只包含前三個數(shù)字:123。
在第二次迭代后,digit等于3,reversed等于4 * 10 + 3 = 43和num= 12
在第三次迭代后,digit等于2,reversed等于43 * 10 + 2 = 432和num= 1
在第四次迭代后,digit等于1,reversed等于432 * 10 +1 = 4321和num= 0
現(xiàn)在num= 0,因此測試表達式num != 0失敗并且while循環(huán)退出。reversed已經(jīng)包含反向數(shù)字4321。
這是等效的Java代碼:反轉(zhuǎn)數(shù)字的Java程序