下面是所有的代码!
String kh1="1111";
String mm1="1111";
double yue1=10000;
String kh2="2222";
String mm2="2222";
double yue2=20000;
String kh3="3333";
String mm3="3333";
double yue3=30000;
int linshi=3;
int ls=3;
System.out.println("欢迎使用银行模拟机!");
/* 账号登录界面*/
for(int j=0;linshi>j;){
if(ls==0){
System.out.println("由于三次输入错误,您的银行卡已被冻结!\n请联系银行办理解除冻结!");
break;
}else{
for(int i=0;iSystem.out.println("请输入账号:");
String jskh=in.next();
System.out.println("请输入密码:");
String jsmm=in.next();
if(jskh==kh1&&jsmm==mm1||jskh==kh2&&jsmm==mm2||jskh==kh3&&jsmm==mm3){
System.out.println("输入正确!");
System.out.println("请选择需要的操作:\n1.取款\n2.存款\n3.退出");
break;
}else{
System.out.println("账号或密码错误,您还有"+(ls-1)+"次机会!");
ls--;
}
}
}
}
}
代码可以正常运行,但是if判断就只运行else的下半段,刚学没多久,求解惑!
字符串相等,要用equals
改为
if(jskh.equals(kh1)&&jsmm.equals(mm1)||jskh.equals(kh2)&&jsmm.equals(mm2)||jskh.equals(kh3)&&jsmm.equals(mm3))
这是跳过的代码
System.out.println("输入正确!");
System.out.println("请选择需要的操作:\n1.取款\n2.存款\n3.退出");
if((jskh==kh1&&jsmm==mm1)||(jskh==kh2&&jsmm==mm2)||(jskh==kh3&&jsmm==mm3)){
System.out.println("输入正确!");
System.out.println("请选择需要的操作:\n1.取款\n2.存款\n3.退出");
break;
}else{
System.out.println("账号或密码错误,您还有"+(ls-1)+"次机会!");
ls--;
}
改成这样试试