替换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;
}
}
}
你必须遍历整个数组,为每个索引检查它是否是字母,然后替换。
我正在 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;
}
}
}
你必须遍历整个数组,为每个索引检查它是否是字母,然后替换。