示例 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: $vowels")
println("Consonants: $consonants")
println("Digits: $digits")
println("White spaces: $spaces")
}
运行程序后,输出将是
Vowels: 7 Consonants: 11 Digits: 2 White spaces: 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: $vowels")
println("Consonants: $consonants")
println("Digits: $digits")
println("White spaces: $spaces")
}
程序的输出与示例 1相同。
在这里,您可以看到我们使用了一个简单的 `when` 表达式来替换 `if-else` 语句。这使得代码更少,也更容易理解。