【发布时间】:2014-05-27 17:06:11
【问题描述】:
我想根据用户输入的字符串更改StringBuilder 上的索引,例如我创建了一个数组,但我必须将其更改为字符串,所以我使用StringBuilder 这样做。现在我创建了另一个包含用户输入的字符串,然后用用户输入的内容替换索引。这是我所拥有的:
Arrays inventory = new Arrays();
String[] words = inventory.getWords();
String[] category = inventory.getCategory();
String board = "";
StringBuilder builder = new StringBuilder();
for(String s : words) {
builder.append(s+"\n");
}
这是代码的另一部分。我希望它更改索引的部分,但我收到一条错误消息,指出方法 setCharAt 未针对字符串类型定义。我还尝试了其他方法,例如replace(),但得到了同样的错误。我必须为此使用字符串:
String word1 = builder.substring(0, 7);
board.equals(word1);
Scanner in = new Scanner(System.in);
System.out.println("enter a letter to guess the word");
String input = in.nextLine();
char aChar = builder.charAt(0);
if (input.equals(aChar)){
board.setCharAt(0, input);
System.out.println(board);
}
【问题讨论】:
-
你有什么问题?
-
请注意,
input.equals(aChar)永远不会为真 -
字符串是不可变的,所以没有
setCharAt方法。为此,您需要使用 StringBuilder。 -
我的问题是如何根据用户输入的内容更改字符串的索引。假设一个词是“huston”,但每个字母都将被 * 替换,如果用户输入 u,则与 u 相同的星号将被替换
-
我试图回答您的问题,但如答案中所述,我不确定我是否理解您的问题。就像上面提到的@RC,您提供的代码中还有其他问题。
标签: java string stringbuilder