在该程序中,您将学习计算Kotlin中给定句子中的元音,辅音,数字和空格的数量。
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("数字: $digits")
println("空格: $spaces")
}运行该程序时,输出为:
元音: 6 辅音: 11 数字: 3 空格: 3
在上面的示例中,每个检查都有4个条件。
第一个if条件是检查字符是否为元音。
if后面的else if条件用于检查该字符是否为辅音。顺序应该是相同的,否则,所有的元音也被当作辅音。
第三个条件(else if)是检查字符是否在0到9之间。
最后,最后一个条件是检查字符是否为空格字符。
为此,我们使用toLowerCase()使该行小写。这是一个没有检查大写A到Z和元音的优化。
我们使用length()函数来知道字符串的长度,使用for..in来获取给定索引(位置)处的字符。
这是等效的Java代码:用于计算句子中元音和辅音数量的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("数字: $digits")
println("空格: $spaces")
}该程序的输出与示例1相同。
在这里,您可以看到我们使用了一个简单的when表达式来删除if-else语句。这使得代码更少,也更容易理解。