老师麻烦看看我这样写的对不对?

来源:1-13 编程练习

Mavericky

2019-04-21 15:42:01

public class Test{

    // 测试方法

public static void main(String[] args) {

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

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

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

     UserManager usermanger=new UserManager();

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

     usermanager.checkUser(user1,user2);

    }

}

 

public class User{

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

    private String name;

    private int password;

    

    public User(String name,int password){

        this.setname(name);

        this.setpassword(password);

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

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

    }

    public String getname(){

        return name;

    }

    public String setname(String name){

        this.name=name;

    }

    public int getpassword(){

        return password;

    }

    public int setpassword(int password){

        this.password=password;

    }

}

 

public class UserManager{

    // 用户信息验证的方法

    public String checkUser(User one, User two) {

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

       if(one.getname.equals(null)||two.getname.equals(null)){

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

       }

       else{

           if(one.getname.equals(two.getname)){

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

           }

           else{

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

           }

       }

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

       if(one.getpassword.equals(null)||two.getname.equals(null)){

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

       }

       else{

           if(one.getpassword.equals(two.getword)){

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

           }

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

       }

    }

}


写回答

1回答

好帮手慕阿莹

2019-04-21

1、建议同学再eclipse中验证一下代码呦,因为eclipse中可以检查出编译错误:

user类:

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

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

1)分号要是英文状态下的,同学有两个写成中文状态下的了

2)set方法不需要写返回值,所以都应该把返回值类型改成void

3)命名不规范,根据驼峰命名法,setname()应该改成setName(),其他的setget方法同理。

UserManager类:

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

1)报错的地方,这里都是调用的对象中的get方法,调用方法时,后边都需要有小括号

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

2)都加上括号后,密码这里仍旧报错是因为,密码是int类型,是基本类型,不能使用equals方法,只能使用==,并且不能与null进行比较。int类型不会为null的;因为同学写的密码是int类型这里不用判断密码是null,否则调用的就会报错。

没有getword()方法呦,只有getpassword方法()

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

所以这个方法可以去掉(同学后边也写错了判断用户名是否为空了,而不是密码):

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

3)如果同学用输出语句的方法,就不要写返回值了,如果写返回值,可以参考一下这个问答下老师回答的内容:

http://class.imooc.com/course/qadetail/109836

Test中,对象调用时,对象名拼写错误,建议修改一下

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

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

0

0 学习 · 11489 问题

查看课程