0

我已经搜索过,但我无法理解我的错误。

我有以下

while(logincount < 3){
if (tempuser.equals(actualuser) & (temppass.equals(actualpass))
  {
  System.out.println("Success");
  }
else  {
  System.out.println("FAIL");
    logincount=logincount+1;
  }
}

因为我不能从 CMD 复制;http://puu.sh/2svAo错误告诉我它期待一个'>'

所以我尝试了 &,&& 和 2 我现在找不到钥匙。

谢谢,再次抱歉,如果这很愚蠢,我在上一个问题中被否决了,所以我希望这是“更好”!:-)

4

4 回答 4

1

线

if (tempuser.equals(actualuser) & (temppass.equals(actualpass))

有一个额外的开口支架,要么

if (tempuser.equals(actualuser) & temppass.equals(actualpass))

或者

if ((tempuser.equals(actualuser)) & (temppass.equals(actualpass)))

应该可以正常工作。

编辑:哎呀,感谢 dukeling 注意到我在最后一行所做的错字。(现已修复)

于 2013-04-02T14:09:35.440 回答
0

那里有两个错误:1.“(temppass”确实需要前面的“(” 2.“&”是按位或,你需要一个逻辑或在这里:“&&”

所以“if (tempuser.equals(actualuser) & (temppass.equals(actualpass))”变成了“if (tempuser.equals(actualuser) && temppass.equals(actualpass))”

于 2013-04-02T14:16:26.627 回答
0

if语句中缺少“)”,这是更正

    while(logincount < 3){
        if (tempuser.equals(actualuser) & (temppass.equals(actualpass)))
          {
          System.out.println("Success");
          }
        else  {
          System.out.println("FAIL");
            logincount=logincount+1;
          }
        }
于 2013-04-02T14:18:23.713 回答
0

你可以稍微改进一下你的代码。

for (int i = 0; i < 3; i++) {
    if (tempuser.equals(actualuser) && temppass.equals(acutalpass)) {
        System.out.println("Success");
        break;
    } else {
        System.out.println("FAIL");
    }
}
  1. 使用for循环而不是while循环,以便循环变量的初始化和增量在一个地方完成。
  2. 使用&&而不是&for 逻辑AND
  3. 如果您的密码检查成功,请添加一条break语句。
于 2013-04-02T14:26:52.680 回答