替换char数组中的多个相同char

Replace multiple of the same char in a char array

我正在 Java 开发 "guess the secret word" 游戏。我有一个 char 数组,其中包含 _ 相对于秘密单词中的字母数量。我正在编写一种方法,用猜到的字母替换 _。我的问题是当我有多个相同的字母时;只有第一次出现被替换。这是我的代码:

public void replaceBlank(char letter){
    if(guessLetter(letter)==true){
        int x=getSecretWord().indexOf(letter);
            charArray[x]=letter;
        }
   }

if 中的代码是直接处理替换 _ 的部分。我在想我需要一个 for 循环,但我不确定如何实现它。

indexOf returns 仅索引第一次出现的字符。我没有使用它,而是将秘​​密单词视为一个数组并对其进行迭代:

public void replaceBlank(char letter) {
    char[] secret = getSecretWord().toCharArray();
    for (int i = 0; i < secret.length; ++i) {
        if (secret[i] == letter) {
            charArray[i] = letter;
        }
    }
}

你必须遍历整个数组,为每个索引检查它是否是字母,然后替换。