请老师帮忙看一下 代码哪里有问题,有没有可以优化的地方
来源:1-13 编程练习
精慕门4666457
2019-09-12 14:55:33
/**
* User类
*/
public class User{
//定义属性用户名、密码
//用户名
private String userName;
//密码
private String password;
public User(String userName, String password) {
super();
this.userName = userName;
this.password = password;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
/**
* UserManager类
*/
public class UserManager{
// 用户信息验证的方法
public String checkUser(User one, User two) {
// 判断用户名和密码是否为空,是否一致
if (one != null && two != null) {
if (one.getUserName() != null && one.getPassword() != null && two.getUserName() != null && two.getPassword() != null) {
if (one.getUserName().equals(one.getUserName()) && one.getPassword().equals(two.getPassword())) {
return "用户名和密码一致";
} else {
return "用户名或密码不一致";
}
} else {
return "用户名或密码不能为空";
}
} else {
return "传入对象不能为空";
}
}
}
/**
* Test类
*/
public class Test{
// 测试方法
public static void main(String[] args) {
//实例化对象,调用相关方法实现运行效果
User one = new User("Luck", "123456");
User two = new User("Mike", "123456");
System.out.println("用户名:" + one.getUserName());
System.out.println("密码:" + one.getPassword());
System.out.println("用户名:" + two.getUserName());
System.out.println("密码:" + two.getPassword());
System.out.println("===============================");
UserManager userManager = new UserManager();
String result = userManager.checkUser(one, two);
System.out.println(result);
}
}
1回答
同学你好,复制运行贴出代码,有一个问题,那就是name的属性的判断有问题,name属性不一致,但是还是输出了用户名与密码一致的内容,例如

原因是在checkUser中判断name属性时,注意是one和two的name属性做比较。

其余代码完成的很好,很棒呐,继续加油。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题