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 星