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, не изменяют существующий, а создают его копию с измененным значением!