在該程序中,您將學(xué)習(xí)計(jì)算Kotlin中給定句子中的元音,輔音,數(shù)字和空格的數(shù)量。
fun main(args: Array<String>) { var line = "This website is aw3som3." var vowels = 0 var consonants = 0 var digits = 0 var spaces = 0 line = line.toLowerCase() for (i in 0..line.length - 1) { val ch = line[i] if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') { ++vowels } else if (ch in 'a'..'z') { ++consonants } else if (ch in '0'..'9') { ++digits } else if (ch == ' ') { ++spaces } } println("元音: $vowels") println("輔音: $consonants") println("數(shù)字: $digits") println("空格: $spaces") }
運(yùn)行該程序時,輸出為:
元音: 6 輔音: 11 數(shù)字: 3 空格: 3
在上面的示例中,每個檢查都有4個條件。
第一個if條件是檢查字符是否為元音。
if后面的else if條件用于檢查該字符是否為輔音。順序應(yīng)該是相同的,否則,所有的元音也被當(dāng)作輔音。
第三個條件(else if)是檢查字符是否在0到9之間。
最后,最后一個條件是檢查字符是否為空格字符。
為此,我們使用toLowerCase()使該行小寫。這是一個沒有檢查大寫A到Z和元音的優(yōu)化。
我們使用length()函數(shù)來知道字符串的長度,使用for..in來獲取給定索引(位置)處的字符。
這是等效的Java代碼:用于計(jì)算句子中元音和輔音數(shù)量的Java程序。
fun main(args: Array<String>) { var line = "This website is aw3som3." var vowels = 0 var consonants = 0 var digits = 0 var spaces = 0 line = line.toLowerCase() for (i in 0..line.length - 1) { val ch = line[i] when (ch) { 'a', 'e', 'i', 'o', 'u' -> ++vowels in 'a'..'z' -> ++consonants in '0'..'9' -> ++digits ' ' -> ++spaces } } println("元音: $vowels") println("輔音: $consonants") println("數(shù)字: $digits") println("空格: $spaces") }
該程序的輸出與示例1相同。
在這里,您可以看到我們使用了一個簡單的when表達(dá)式來刪除if-else語句。這使得代碼更少,也更容易理解。