我以为这段代码会将所有大写字母都变为小写字母,并将小写字母变为大写字母,但是它不起作用..为什么呢?
fun main(args: Array<String>) {
val userInput = readLine()!!
val output = userInput
for(a in output){
when{
a.isUpperCase() -> a.toLowerCase()
a.isLowerCase() -> a.toUpperCase()
else -> a
}
}
println(output)
}
最佳答案
fun changeCase(input : String) : String {
val builder = StringBuilder()
for (i in 0..input.length-1){
val char : Char = input[i]
if (char.isUpperCase) builder.append(char.toLowerCase)
else if (char.isLowerCase) builder.append(char.toUpperCase)
else builder.append(char)
}
return builder.toString()
}
在您的代码中,您创建了一个大写/小写字符,但没有将其分配给新的输出字符串。处理String的方法不会更改现有的方法,而是使用更改后的值创建它的副本!