我想做一个hang子手游戏。 s是包含用户猜测的字符串,而hiddenWord是所有问号的字符串,直到用户正确猜测其中一个字母为止。我怎样才能用s字符串替换问号?我可以用另一个字符串替换字符串中的某个字符吗?
public void correctGuess()
{
hiddenWord.replace ("?", s);
JOptionPane.showMessageDialog (null, "That was correct! Guess again.");
}
我想做一个hang子手游戏。 s是包含用户猜测的字符串,而hiddenWord是所有问号的字符串,直到用户正确猜测其中一个字母为止。我怎样才能用s字符串替换问号?我可以用另一个字符串替换字符串中的某个字符吗?
public void correctGuess()
{
hiddenWord.replace ("?", s);
JOptionPane.showMessageDialog (null, "That was correct! Guess again.");
}
的replace
method不改变原有String
,这是不可改变的。它返回修改后的String
。尝试
hiddenWord = hiddenWord.replace("?", s);
您不能简单地替换java中的字符串中的字符,因为字符串是不可变的。你可以做的是按照rgettman的建议创建一个新的字符串。
但是它会不会用s代替hiddenWord中的所有问号,而不是只在用户正确猜测的字母在隐藏字符中找到的索引处替换它们?
您不能替换字符串中的字符。但是,您可以构造一个新的String,其中包含先前字符串的内容,仅替换一些字符。你用'replace'来做到这一点。 –