gpt4 book ai didi

java - 在 String 中将 char 设为大写

转载 作者:行者123 更新时间:2023-11-30 06:22:34 27 4
gpt4 key购买 nike

我想将字符串的元音设为大写。其方法如下:

public static String LetterChanges(String str) {

char[] strChar = str.toCharArray();

for (int i =0; i < str.length(); i++){
char ch = str.charAt(i);

if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u'){
Character.toUpperCase(ch);
str.replace(strChar[i], ch);
}
}
return str;
}

那个“if”语句会拾取一个元音,但我不知道如何将其变成大写。 IntelliJ 表示 .toUpperCase 和 .replace 的结果都被忽略。有人可以解释一下为什么这些方法被忽略,并且也许还可以用这段代码为我指出正确的方向吗?

最佳答案

IntelliJ 表示这些操作的结果将被忽略,因为字符串和字符在 Java 中是不可变的。对它们执行的任何操作的结果都需要分配回变量,例如:

ch = Character.toUpperCase(ch);
str = str.replace(strChar[i], ch);

对于实际的程序,循环元音数组就足够了,并对每个元音使用String.replace(char old, char new)。该操作将替换字符串中出现的所有该元音:

String string = "Whatever string";
char[] vowels = new char[]{'a', 'e', 'i', 'o', 'u'};

for (char vowel : vowels) {
string = string.replace(vowel, Character.toUpperCase(vowel));
}

System.out.println(string); // WhAtEvEr strIng

关于java - 在 String 中将 char 设为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47825568/

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