跳到主要内容

Kotlin 程序:计算句子中元音和辅音的数量

示例1:计算元音字母、辅音字母、数字和空格的程序

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")
}

当您运行该程序时,输出将是:

元音字母: 7
辅音字母: 11
数字: 2
空格: 3

在上面的示例中,我们有4个条件来进行检查。

  • 第一个条件检查字符是否为元音字母
  • 在if之后的else if条件用于检查字符是否为辅音字母。顺序应该相同,否则所有元音字母也将被视为辅音字母。
  • 第三个条件(else-if)用于检查字符是否在0到9之间
  • 最后一个条件用于检查字符是否为空格字符。

为此,我们使用了toLowerCase()将字符串变成小写。这是为了不检查大写字母A到Z和元音字母。

我们使用了length()函数来获取字符串的长度和charAt()来获取给定索引(位置)处的字符。

以下是等效的Java代码:Java程序:计算句子中元音字母和辅音字母的数量

示例2:使用when语句计算元音字母、辅音字母、数字和空格的程序

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语句。这使得代码更简洁,更容易理解。