为啥输入密码都是123456 但运行结果输出了“密码不一致”的语句?

为啥输入密码都是123456 但运行结果输出了“密码不一致”的语句?

public class UserManager{

    // 用户信息验证的方法

    public UserManager() {

       // 判断用户名是否为空,是否一致

    User one=new User();

    User two=new User();

    String a,b;

    a=one.getUserName();

    b=two.getUserName();

    if((a==null)||(b==null)){

        System.out.println("用户名不能为空");

    }

    if(a!=b){

        System.out.println("用户名不一致");

    }else{

        System.out.println("");

    }

    // 判断密码是否为空,是否一致

    String c,d;

    c=one.getPwd();

    d=two.getPwd();

    if((c==null)||(d==null)){

        System.out.println("密码不能为空");

    }

    if(c!=d){

        System.out.println("密码不一致");

    }else{

        System.out.println("");

    }

    }

}





正在回答

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

2回答

同学你好,构造方法通常是用来实例化对象,完成对象的初始化操作。写逻辑判断等代码应该写在普通方法中,所以这里建议在checkUser()方法中写判断代码。构造方法是用来实例化对象的,如:User one = new User();这里就是调用User类的空构造方法创建了User对象one。

祝:学习愉快~

好帮手慕阿满 2019-03-20 11:38:14

同学你好,同学的这个类写的有些问题,在该类中,应该有checkUser()方法,而同学的类中写的是无参构造方法,在无参构造方法完成一系列的判断。这是不正确的。建议同学修改一下,在该类中定义checkUser()方法,在checkUser方法中进行判断。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 慕圣7039450 #1
    请问我是不能使用构造方法去设置判断条件吗?我不是特别明白构造方法跟方法的运用区别,我就是照葫芦画瓢写的代码,然后运行的时候发现密码不一致的结果也输出了,但我明明是设置了判断条件的
    2019-03-20 11:46:36
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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