Java 我可以用另一个字符串替换字符串中的某个字符吗?

Java 我可以用另一个字符串替换字符串中的某个字符吗?,java,string,replace,Java,String,Replace,我想做一个刽子手游戏。s是包含用户猜测的字符串,hiddenWord是包含所有问号的字符串,直到用户正确猜测其中一个字母为止。如何用s字符串替换问号 public void correctGuess() { hiddenWord.replace ("?", s); JOptionPane.showMessageDialog (null, "That was correct! Guess again."); } 不会更改原始的字符串,该字符串是不可变的。它返回修改后的字符串。试一

我想做一个刽子手游戏。s是包含用户猜测的字符串,hiddenWord是包含所有问号的字符串,直到用户正确猜测其中一个字母为止。如何用s字符串替换问号

public void correctGuess()
{
    hiddenWord.replace ("?", s);
    JOptionPane.showMessageDialog (null, "That was correct! Guess again.");
}
不会更改原始的
字符串
,该字符串是不可变的。它返回修改后的
字符串
。试一试

hiddenWord = hiddenWord.replace("?", s);

在java中,不能简单地替换字符串中的字符,因为字符串是不可变的。你能做的就是按照Mgetman的建议创建一个新字符串


但是,它会不会将隐藏字中的所有问号都替换为s,而不是仅在用户正确猜测的隐藏字中的字母所在的索引处替换它们?

您不能替换字符串中的字符。但是,您可以构造一个新字符串,该字符串包含先前字符串的内容,只替换一些字符。您可以使用
replace
执行此操作。