我想基于用户输入的字符串更改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);
}
答案 0 :(得分:0)
为每个字母设置一个*
的StringBuilder:
String theWord = "enter";
StringBuilder board = new StringBuilder();
for (int i = 0; i < theWord.length(); i++) {
board.append("*");
}
收集用户输入(为简洁起见,不包括在内)
char usersInput = 'e'; // For example
查找与原始单词中的字符匹配的字符,并在StringBuilder中替换*。
for (int i = 0; i < theWord.length(); i++) {
if (theWord.charAt(i) == usersInput) {
board.setCharAt(i, usersInput);
}
}
System.out.println(board.toString());
这会产生"e**e*"