麻烦老师看一下,这个问题怎么解决?

来源:1-13 编程练习

Michael_2020

2020-01-21 23:54:29

麻烦老师帮我看一下,我在User类里做了一个信息输出的方法,为什么是get不到参数呢

而用get的方法在主方法里输出就可以?我究竟是哪里出错了?

//User.java

public class User{

    //定义属性用户名、密码

    private String name;

    private String key;

    

    public User(){

        

    }

    

    public User(String name, String key){

        this.setName(name);

        this.setKey(key);

    }

    

    public String getName(){

        return name;

    }

    

    public void setName(String name){

        this.name = name;

    }

    

    public String getKey(){

        return key;

    }

    

    public void setKey(String key){

        this.key = key;

    }

    

    public void info(){

        System.out.println("用户名:"+this.getName());

        System.out.println("密码:"+this.getKey());

    }

}


//UserManager.java

public class UserManager{

    // 用户信息验证的方法

    public String checkUser(User one, User two) {

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

       String pr = null;

       

       if(one.getName()!=null&&one.getKey()!=null&&two.getName()!=null&&two.getKey()!=null){

           

           if(one.getName().equals(two.getName())&&one.getKey().equals(two.getKey())){

               pr="用户名或密码一致";

           }else{

               pr="用户名或密码不一致";

           }

       }else{

           pr = "用户名和密码为空";

       }

       return pr;

    }

}


//Test.java

public class Test{

    // 测试方法

public static void main(String[] args) {

     //实例化对象,调用相关方法实现运行效果

     User i = new User();

     User u1=new User("Lucy","123456");

     i.info();

    //  System.out.println("用户名:"+u1.getName());

    //  System.out.println("密码:"+u1.getKey());

     User u2=new User("Mike","123456");

     i.info();

    //  System.out.println("用户名:"+u2.getName());

    //  System.out.println("密码:"+u2.getKey());

     

     System.out.println("==============");

     UserManager um = new UserManager();

     System.out.println(um.checkUser(u1,u2));

     

    }

}


写回答

1回答

好帮手慕小尤

2020-01-22

同学你好,通过无参构造创建的对象,没有为属性赋值,所以调用info()方法无法输出属性值。则建议同学通过带参构造创建的对象,并通过此对象调用info()方法。如下图所示:

http://img.mukewang.com/climg/5e27b8a809b2309300000000.jpg

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

0
hichael_2020
h 我明白了,两个搞混了,谢谢老师答疑。
h020-01-22
共1条回复

0 学习 · 11489 问题

查看课程