在该程序中,您将学习计算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语句。这使得代码更少,也更容易理解。