1-13编程问题
public class User {
//定义属性用户名、密码
private String name;
private 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 UserManager {
// 用户信息验证的方法
public String checkUser(User one, User two) {
// 判断用户名和密码是否为空,是否一致
System.out.println("用户名:"+one.getName());
System.out.println("密码:"+one.getPassword());
System.out.println("用户名:"+two.getName());
System.out.println("密码:"+two.getPassword());
System.out.println("========================");
String str1=one.getName();
String str2=two.getName();
String x=""+one.getPassword();
String y=""+two.getPassword();
if((str1.equals(str2))&&(x.equals(y))) {
System.out.println("用户名或密码一致");
}else
System.out.println("用户名或密码不一致");
return null;
}
}public class Tset {
// 测试方法
public static void main(String[] args) {
//实例化对象 调用相关方法实现运行效果
User a=new User();
User b=new User();
//为属性赋值
a.setName("Lucy");
a.setPassword(123456);
b.setName("Mike");
b.setPassword(123456);
UserManager um=new UserManager();
um.checkUser(a, b);
}
}问题:
已运行成功 麻烦老师看下代码是否符合要求?
在checkUser方法中 我按照报错提示 return null;后代码就正常了,但是我不明白为什么要返回null,为什么不能直接返回语句?
如何实现“判断用户名和密码是否为空”的功能;
感觉自己写的代码太复杂了,应如何简化?在思路上跟别人不太一样,别人的代码都一目了然的感觉。
1
收起
正在回答
1回答
同学你好,
1、代码完成的不错,但是有几个小问题:
在用户名和密码都相等时输出用户名和密码一致,具体如下:

根据题目要求设计构造函数实现对属性赋值,同学的代码没有构造函数,具体如下:

Tset类:

2、由于同学的的代码中,checkUser()方法定义的返回类型为String类型,所以必须要写return语句。具体如下:

3、实现“判断用户名和密码是否为空”的功能
在判断用户名和密码外,添加判断用户名或密码是否为空或者空字符。具体如下:

4、优化代码:
建议User类中password设置为String类型。
建议checkUser()方法中声明一个str变量,用于返回信息。
建议有一个show()方法用于输出变量信息。
优化后的代码如下:
User:
public class User {
// 定义属性用户名、密码
private String name;
private String password;
public User() {
}
public User(String name, String password) {
super();
this.name = name;
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}UserManager
public class UserManager {
// 用户信息验证的方法
public String checkUser(User one, User two) {
// 判断用户名和密码是否为空,是否一致
String str = null;
String str1 = one.getName();
String str2 = two.getName();
String x = one.getPassword();
String y = two.getPassword();
if ((str1 != null && str2 != null && x != null && y != null)&&(str1 != "" && str2 != "" && x != "" && y != "")) {
if ((str1.equals(str2)) && (x.equals(y))) {
str="用户名或密码一致";
} else
str="用户名或密码不一致";
}
else {
str="用户名或密码为空";
}
return str;
}
public void show(User one,User two) {
// TODO Auto-generated method stub
System.out.println("用户名:" + one.getName());
System.out.println("密码:" + one.getPassword());
System.out.println("用户名:" + two.getName());
System.out.println("密码:" + two.getPassword());
}
}Tset
public class Tset {
// 测试方法
public static void main(String[] args) {
// 实例化对象 调用相关方法实现运行效果
User a = new User("Lucy","123456");
User b = new User("Mike","123456");
UserManager um = new UserManager();
um.show(a, b);
System.out.println("================");
System.out.println(um.checkUser(a, b));
}
}如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星