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");
}
}