1

因此,这些参数都不起作用。我尝试编译它,但两者都收到相同的错误消息:

unexpected type
required: variable
found   : value

if(word.charAt(val) = guess)
              ^

然而,克拉指向括号,所以我不确定它的参数错误。我看了大约 15 个网站,他们都说应该是 0 到 1 之间的整数,小于单词的长度

int val = 0;
if(word.indexOf(guess) > 0 )
{
    if(word.charAt(val) = guess)
    {
        screentxt[val] = guess;
    }
    if(word.charAt(0) = guess)
    {
        screentxt[0] = guess;
    }   
}
4

2 回答 2

6

您当前正在if表达式中使用赋值。

在语句中使用==运算符来评估内容:ifchar

if (word.charAt(val) == guess) 
于 2012-11-30T01:14:17.507 回答
2

这实际上是在尝试进行分配而不是比较:

if(word.charAt(val) = guess)

改成

if(word.charAt(val) == guess)

此外,您可能想要更改:

if(word.indexOf(guess) > 0 )

if(word.indexOf(guess) >= 0 )

如果guesschar 实际上是 char 中的第一个字符word,在这种情况下,您可以删除它,因为它是多余的:

if(word.charAt(0) == guess)
{
    screentxt[0] = guess;
} 
于 2012-11-30T01:18:04.777 回答