老师,我的代码应该怎么优化一下
来源:1-13 编程练习
慕田峪209283
2019-10-16 13:29:10
public class User {
private String username;
private String 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;
}
}
public class UserManager {
public void showUser(User user1,User user2) {
if((user1.getUsername().equals("Lucky") && user1.getPassword().equals("123456"))
&& (user2.getUsername().equals("Mike") && user2.getPassword().equals("123456"))) {
System.out.println("用户名:"+user1.getUsername());
System.out.println("密 码:"+user1.getPassword());
System.out.println("用户名:"+user2.getUsername());
System.out.println("密 码:"+user2.getPassword());
}else {
System.out.println("用户名或者密码不一致!");
}
}
}
public class Test {
public static void main(String[] args) {
User user1=new User();
user1.setUsername("Lucky");
user1.setPassword("123456");
User user2=new User();
user2.setUsername("Mike");
user2.setPassword("123456");
UserManager um=new UserManager();
um.showUser(user1, user2);
System.out.println("==============");
user2.setUsername("Mike");
user2.setPassword("12345");
um.showUser(user1, user2);
}
}
1回答
同学你好,代码完成的不错,但是还可以优化:
1、根据题目要求可以设计有参构造函数实现对属性赋值,具体如下:


2、用户信息验证判断两个用户信息是否一致的代码编写的不正确,思路应该是判断第一个人的用户名和第二个人的用户名是否一致并且判断第一个人的密码和第二个人的密码是否一致。如一致则输出提示信息:用户名和密码一致,否则输出用户名或密码不一致
具体如下:

3、建议输出信息统一放在main方法中。具体如下:

修改后的代码如下:
public class User {
private String username;
private String password;
public User(String username, String password) {
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;
}
}public class UserManager {
public void showUser(User user1, User user2) {
if ((user1.getUsername().equals(user2.getUsername())) && (user1.getPassword().equals(user2.getPassword()))) {
System.out.println("用户名或者密码一致!");
} else {
System.out.println("用户名或者密码不一致!");
}
}
}public class Test {
public static void main(String[] args) {
User user1 = new User("Lucky","123456");
User user2 = new User("Mike","123456");
System.out.println("用户名:"+user1.getUsername());
System.out.println("密码:"+user1.getPassword());
System.out.println("用户名:"+user2.getUsername());
System.out.println("密码:"+user2.getPassword());
UserManager um = new UserManager();
um.showUser(user1, user2);
}
}如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题