我正在尝试制作一个刽子手游戏。 s是包含用户猜测的字符串,hiddenWord是所有问号的字符串,直到用户正确猜出其中一个字母为止。我怎么能用s字符串替换问号?
public void correctGuess()
{
hiddenWord.replace ("?", s);
JOptionPane.showMessageDialog (null, "That was correct! Guess again.");
}
答案 0 :(得分:2)
replace
method不会更改原始String
,这是不可变的。它返回修改后的String
。尝试
hiddenWord = hiddenWord.replace("?", s);
答案 1 :(得分:0)
您不能简单地替换java中字符串中的字符,因为字符串是不可变的。你能做的就是按照rgettman建议的方式创建一个新的字符串。
但它不能用s取代hiddenWord中的所有问号而不是仅在用户正确猜到的字母在hiddenWord中找到的索引处替换它们吗?