关于1-9的嵌套if判断,有什么办法可以优化么?看起来很繁琐

关于1-9的嵌套if判断,有什么办法可以优化么?看起来很繁琐

public class UserManager {
    // 用户信息验证的方法
    public String checkUser(User one, User two) {
       // 判断用户名是否为空,是否一致
       if(!("".equals(one.getUsername()))&&!("".equals(two.getUsername()))){
    	   if(one.getUsername().equals(two.getUsername())){
    		   // 判断密码是否为空,是否一致
    		   if(!("".equals(one.getPassword()))&&!("".equals(two.getPassword()))){
    			   if(one.getPassword().equals(two.getPassword())){
    				   System.out.println("通过验证");
    			   }else{
    				   System.out.println("密码不一致");  
    			   }
    		   }else{
    			   System.out.println("密码不能为空");
    		   }
    	   }else{
    		   System.out.println("用户名不一致");
    	   }
       }else{
    	   System.out.println("用户名不能为空");
       }
       return "用户名不一致";
    }
}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你可以用户名和密码分开进行判断,不写到一起,就是先判断用户名是否为空,是否相等,然后再判断密码的

不见不散场 2017-05-02 16:04:55

你不应该直接 System.out.println()输出的,应该return各个信息。

  • 提问者 莨菽菽 #1
    return那么多怎么判断是哪个情况下return回来的?照你说也不过是把输出换成return,这样也没有解决语句复杂的问题
    2017-05-02 16:29:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师