gpt4 book ai didi

Java:比较并替换字符串中的字符

转载 作者:行者123 更新时间:2023-12-01 17:45:38 24 4
gpt4 key购买 nike

我想从用户那里获取一个字符串。循环遍历它的所有字符并检查它是否包含任何“a”。如果是,请将这些“a”字符替换为“9”。

我收到以下错误:"Incompatible operand types char and String"

如何修复它?

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Type a string");
String t = in.nextLine();

for(int i = 0; i < t.length(); i++) {
if(t.charAt(i) == "a") { // ERROR HERE
t.charAt(i) = "9"; //HOW ASSIGN NEW CHAR?
};
}
}

最佳答案

有两件事:

  1. char 文字是用 ' 编写的,而不是 " (" 用于 string 文字),因此在 if 条件中需要 'a',而不是 "a":

    if(t.charAt(i) == 'a') {
  2. Java 中的字符串是不可变的,您无法替换字符串中的字符。您必须使用更改创建一个字符串。

您可以使用 String#substring 执行第二个操作和串联 (+)。例如:

t = t.substring(0, i) + "9" + t.substring(i + 1);

另一种方法是使用 String.join :

t = String.join("", t.substring(0, i), "9", t.substring(i + 1));

甚至

t = String.join("9", t.substring(0, i), t.substring(i + 1));

但最后一个可能有点令人困惑。 :-)

关于Java:比较并替换字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55664676/

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