xm11520 2022-08-15 15:01 采纳率: 66.7%
浏览 29
已结题

if判断为什么控制台运行时不管我输入正确或不正确的字符串,都会跳过代码,求解惑!!

下面是所有的代码!

    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;i<linshi;i++){
                System.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的下半段,刚学没多久,求解惑!

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-08-15 15:06
    关注

    字符串相等,要用equals
    改为
    if(jskh.equals(kh1)&&jsmm.equals(mm1)||jskh.equals(kh2)&&jsmm.equals(mm2)||jskh.equals(kh3)&&jsmm.equals(mm3))

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月23日
  • 已采纳回答 8月15日
  • 创建了问题 8月15日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测