gpt4 book ai didi

反转大小写的Java方法不会反转所有字母

转载 作者:行者123 更新时间:2023-12-03 11:18:46 25 4
gpt4 key购买 nike

我想创建一种方法来反转单词中的大写字母。我遇到的问题是该方法不会反转所有字母。例如,当我输入“nIceToMeEtyoU”时,它会打印“NiCETomEETYou”。它不适用于“o”、第二个“e”和“t”。我只是无法弄清楚代码有什么问题。

public static String reverseCase(String str) {
char changed;
String a = str;
for (int i = 0; i < a.length(); i++) {
char d = a.charAt(i);
boolean letter = Character.isUpperCase(d);
if (letter == true) {
changed = Character.toLowerCase(d);
} else {
changed = Character.toUpperCase(d);
}
a = a.replace(d, changed);
}
return a;
}

最佳答案

String::replace返回一个带有 的新字符串所有出现 您要替换的字符的更改。
此外,Java 中的字符串是不可变的,这意味着您不能在保持相同字符串的同时替换字符串中的字符。
要替换特定索引处的字符,请参阅 this post

关于反转大小写的Java方法不会反转所有字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63969822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com