麻烦老师帮忙看看,这个是什么问题

来源:1-13 编程练习

慕无忌6063789

2020-01-30 21:33:41

public class UserManager{

    // 用户信息验证的方法

    public String checkUser(User one, User two) {

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

       User one=new User(name,password);

       User two=new User(name,password);

       if((one.get(name)).equals(two.get(name))&&(one.get(password))==(two.get(password))){

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

       }else{

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

       }

       




    }

}

public class User{

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

    private String name;

    private int password;

    public User(String name,int password){

        

    }

}

public String getName(){

    return name;

}

public void setName(String name){

    this.name=name;

}

public int getPassword(){

    return password;

}

public void setPassword(int password){

    this.password=password;

}

public class Test{

    // 测试方法

public static void main(String[] args) {

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

     UserManager um=new UserManager();

     one.name=Lucy;

     one.password=123456;

     two.name=Mike;

     two.password=123456;

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

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

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

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

     

     um.checkUsers(one,two);

     

     

    }

}


写回答

1回答

好帮手慕酷酷

2020-02-01

同学你好,代码整体编写的有点问题:

1、User类最外面的大括号的括回应该编写在类的最后面。具体如下:

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

2、User类中的有参构造方法没有为当前对象的属性赋值。具体如下:

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

3、UserManager类的用户信息验证的方法编写的不正确,应该是将小括号传入的两个User对象one和two,分别获取他们的用户名进行比较是否相等并获取他们的密码比较是否相等,然后将比较完成后的提示信息进行return返回。

具体如下:

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

4、Test类编写的不正确,测试类中没有创建one和two对象,也就无法获取他们的属性,并且对于字符串赋值时要使用双引号。

修改建议,建议根据题目要求使用有参构造函数实现对属性赋值。也就是创建User类的one和two对象,并传入用户名和密码参数。

具体如下:

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

5、Test类中输出密码,应该是调用two.getPassword(),而同学拼写拼写错了。调用用户信息验证的方法,应该是um.checkUser(one,two);  ,同学也拼写错了。

具体如下:

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

6、Test类中,将调用用户信息验证的方法,需将结果进行返回,并打印输出。具体如下:

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

修改后的整体代码如下:

User:

public class User {

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

	private String name;

	private int password;

	public User(String name, int password) {
		this.name=name;
		this.password=password;
	}

	public String getName() {

		return name;

	}

	public void setName(String name) {

		this.name = name;

	}

	public int getPassword() {

		return password;

	}

	public void setPassword(int password) {

		this.password = password;

	}
}

UserManager:


public class UserManager{

    // 用户信息验证的方法

    public String checkUser(User one, User two) {

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


       if((one.getName()).equals(two.getName())&&(one.getPassword())==(two.getPassword())){

           return "用户名和密码一致";

       }else{

          return "用户名或密码不一致";

       }

    }

}

Test:

public class Test{

    // 测试方法

	public static void main(String[] args) {

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

     UserManager um=new UserManager();

     User one = new User("Lucky",123456);

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

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

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

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

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

     

     String result = um.checkUser(one,two);    
     System.out.println(result);

    }

}

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

0

0 学习 · 11489 问题

查看课程