java - 如何更改 char 数组中的 2 个以上值?

标签 java arrays string char

我将字符串转换为字符数组,我想知道是否有办法替换数组中的 2 个或更多值?

我正在开发一个字符串猜测游戏,这是一项家庭作业,用户输入一个句子或单词,然后用户输入一个字母,如果该字母是输入的一部分,则猜测字符串会更新并替换其“?与用户猜测的字母。

例如:

User enters: racer

Original String: racer
Guess String:?????
Please guess a character

User enters: a

Original String: racer
Guess String:?a???
String input = "This is a string";
input = input.toLowerCase();
int inputLength = input.length();
System.out.println("You entered: " + input
            + "\n" + "The string length is: " + inputLength);
String answerString = "?".repeat(inputLength);
int answerStringLength = answerString.length();
System.out.println(answerString);
System.out.println(answerStringLength);

System.out.println("Guess a letter");
String guess = scan.nextLine();
System.out.println(guess);
int guessLength = guess.length();
System.out.println(guessLength);
while (guessLength != 1) {
    guess = scan.nextLine();
    guessLength = guess.length();
    System.out.println(guessLength);
}
System.out.println(guess);
String guessRepeat = guess.repeat(3);
char guessChar=guessRepeat.charAt(2);
System.out.println(guessChar);

int checkGuess = input.indexOf(guess);

char[] answerStringChars = answerString.toCharArray();
answerStringChars[checkGuess]=guessChar;
String newAnswerString = String.valueOf(answerStringChars);
System.out.println(newAnswerString);
If the guessed letter is 'i'
Actual Results:
??i?????????????
Expected Results:
??i??i??????i???

最佳答案

尝试使用此循环替换所有值,而不是仅替换第一个值:

char[] answerStringChars = answerString.toCharArray();
for (int i = 0; i < answerString.length(); i++) {
    if (input.charAt(i) == guessChar) {
        answerStringChars[i] = guessChar;
    }
}
String newAnswerString = String.valueOf(answerStringChars);

这应该可以完成工作。

关于java - 如何更改 char 数组中的 2 个以上值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55978127/

相关文章:

java - 如何避免 JSON 响应中的子实体大括号?

java - 强制下载PDF

php arrays in array sum value by specific key?

c - C中的半固定,半动态数组

php - 有什么方法可以更快地提取字符串?

java - 实现像这样的可重试调用的 Scala 方法是什么?

java - 阴影 JAR 的传递依赖

javascript - 如果数组中包含特定字符,如何删除该元素?

javascript - 字符串中的通配符替换

c - 使用 ncurses 在 C 中打印 Unicode 字符