Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java将2个字符串与变量的精确匹配进行匹配_Java_String_Match - Fatal编程技术网

Java将2个字符串与变量的精确匹配进行匹配

Java将2个字符串与变量的精确匹配进行匹配,java,string,match,Java,String,Match,我已经搜索过了,我不能理解我的错误 我有以下几点 while(logincount < 3){ if (tempuser.equals(actualuser) & (temppass.equals(actualpass)) { System.out.println("Success"); } else { System.out.println("FAIL"); logincount=logincount+1; } } while(logincount

我已经搜索过了,我不能理解我的错误

我有以下几点

while(logincount < 3){
if (tempuser.equals(actualuser) & (temppass.equals(actualpass))
  {
  System.out.println("Success");
  }
else  {
  System.out.println("FAIL");
    logincount=logincount+1;
  }
}
while(logincount<3){
if(tempuser.equals(actualuser)和(temppass.equals(actualpass))
{
System.out.println(“成功”);
}
否则{
系统输出打印项次(“失败”);
logincount=logincount+1;
}
}
因为我不能从CMD复制;错误告诉我它需要一个'>'

所以我试过了&&,现在找不到钥匙

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

这句话

if (tempuser.equals(actualuser) & (temppass.equals(actualpass))
也有一个额外的开口支架

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

应该行得通

编辑:哎呀,多亏杜克林注意到我在最后一行中的打字错误。(现已修复)

有两个错误: 1.“(temppass”不需要前面的“(” 2.“&”是位OR,此处需要逻辑OR:&&”

因此,if语句中的“if(tempuser.equals(actualuser)和(temppass.equals(actualpass))”变成了“if(tempuser.equals(actualass)和&temppass.equals(actualpass))”

缺少a“)

    while(logincount < 3){
        if (tempuser.equals(actualuser) & (temppass.equals(actualpass)))
          {
          System.out.println("Success");
          }
        else  {
          System.out.println("FAIL");
            logincount=logincount+1;
          }
        }
while(logincount<3){
if(tempuser.equals(actualuser)和(temppass.equals(actualpass)))
{
System.out.println(“成功”);
}
否则{
系统输出打印项次(“失败”);
logincount=logincount+1;
}
}

您可以稍微改进一下代码

for (int i = 0; i < 3; i++) {
    if (tempuser.equals(actualuser) && temppass.equals(acutalpass)) {
        System.out.println("Success");
        break;
    } else {
        System.out.println("FAIL");
    }
}
for(int i=0;i<3;i++){
if(tempuser.equals(actualuser)和&temppass.equals(acutalpass)){
System.out.println(“成功”);
打破
}否则{
系统输出打印项次(“失败”);
}
}
  • 对循环使用
    ,而不是在
    循环时使用
    ,以便在一个位置完成循环变量的初始化和增量
  • 对于逻辑
    ,使用
    &&
    而不是
    &
  • 如果密码检查成功,请添加
    break
    语句

  • 它说“''expected,not'>'”…您不需要关闭IFN,除了在
    行中缺少
    之外,如果
    行中缺少
    &&
    ,请使用
    &
    而不是
    &
    。计算您的妄想。甚至更好。使用一个编辑器为你做这件事。得到它的家伙谢谢,虽然现在它只是不断地要求用户和密码!我想你需要的不是while-loop,而是if语句,因为你在最后一个括号中缺少了两个结束括号,应该是
    if((tempuser.equals(actualuser))&(temppass.equals(actualpass))
    。谢谢你把上面的答案和评论组合起来,现在工作得很好,尽管我不明白为什么我的循环现在不会退出,哈哈。@T.Des我同意,
    &
    几乎应该总是
    &
    ,因为
    &
    不会短路,除非这是他想要的。我同意,不过,在#2&&用于逻辑
    而非逻辑
    @NickD太棒了!更正!
    for (int i = 0; i < 3; i++) {
        if (tempuser.equals(actualuser) && temppass.equals(acutalpass)) {
            System.out.println("Success");
            break;
        } else {
            System.out.println("FAIL");
        }
    }