gpt4 book ai didi

java - 替换 StringBuilder 字符串中的 "char"

转载 作者:行者123 更新时间:2023-12-01 08:03:15 24 4
gpt4 key购买 nike

我的要求非常简单,获取一个字符位置并将其替换为另一个位置。
唯一需要注意的是,char 及其index 在运行时出现,不能进行硬编码。

我实际实现的虚拟代码:

public static void main(String args[])
{
StringBuilder sb = new StringBuilder("just going nuts") ;
System.out.println(" "+sb);
//System.out.println(sb.charAt(4)); //this works
sb.setCharAt(sb.indexOf((sb.charAt(4))), sb.charAt(0)); //line 8 -error line
System.out.println(" "+sb);
}

我什至尝试将char括在引号中:

sb.setCharAt(sb.indexOf(( "\""+sb.charAt(4)+"\"" )), sb.charAt(0));

但还是同样的错误

错误

line no:8: cannot find symbol
symbol : method indexOf(char)
location: class java.lang.StringBuilder
sb.setCharAt(sb.indexOf((sb.charAt(4))), sb.charAt(0));

我对 Java 不是很流利,但找不到像本例那样具有动态值的 setCharAt 函数示例!!

最佳答案

错误是因为 indexOf 需要一个 String 而不是 char 所以你所要做的就是用 String 包装它.valueOf

sb.setCharAt(sb.indexOf(String.valueOf((sb.charAt(4)))), sb.charAt(0));

输出

 just going nuts
justjgoing nuts

现代 IDE 应该在您键入甚至提供解决方案时捕获此编译时错误(在 IntelliJ 下面的情况下):

enter image description here

关于java - 替换 StringBuilder 字符串中的 "char",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23511110/

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