gpt4 book ai didi

java "Cannot resolve method ' setCharAt(int, 字符 )'"

转载 作者:行者123 更新时间:2023-12-01 21:49:27 30 4
gpt4 key购买 nike

我正在尝试创建一个凯撒密码,一切都应该正常,但我收到了一个错误。

这是我的加密方法:

public static String encrypt(String plainText, int rotation) {
// TODO: implement
for (int i = 0; i < plainText.length(); i++ ){
char currentChar = plainText.charAt(i);
//ASCII 97 == a && 122 == z
if (currentChar >= 97 && currentChar <= 122){
char newChar = (char) (currentChar + rotation);
if(newChar < 97){
newChar = (char) (97 + (newChar - 122));
}
plainText.setCharAt(i, newChar);
}
}
return plainText.toString();

运行代码后,它返回此错误:

 Error:(26, 26) java: cannot find symbol
symbol: method setCharAt(int,char)
location: variable plainText of type java.lang.String

我该如何解决这个问题?

最佳答案

看看setCharAt -> 你可以清楚地看到它属于 StringBuilder 而不是 String

如果您想在String使用它,您可以首先创建一个StringBuilder,然后调用.toString() 在该对象上:

StringBuilder plainText = new StringBuilder("Some string");
plainText.setCharAt(i, newchar);
String myStr = plainText.toString();

这似乎也是您最初计划做的事情,因为在 return 语句中您有 plainText.toString(),并且没有理由调用如果它已经是一个 String 开头,则存在 toString()

关于java "Cannot resolve method ' setCharAt(int, 字符 )'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35404938/

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