判断用户名密码是否为空,是否一致
老师,判断用户名是否为空要怎么写啊?要用if(one.getUsername() == “ ”)还是if(one.getUsername() == null)啊?为什么我用第二种null最后会直接输出null呢?java中没有null关键字吗?还有如果用一个字符串变量接收每次要打印的提示语句,那最后的输出值只是最后赋予给字符串变量的语句啊,前面如果有输出就看不到了啊
public class UserManager {
String messages;
// 用户信息验证的方法
public String checkUser(User one, User two) {
// 判断用户名是否为空,是否一致
if(one.getUsername() == "" || two.getUsername() == "") {
messages = "用户名为空";
// System.out.println("用户名为空");
}else if(one.getUsername().equals(two.getUsername())) {
messages = "用户名一致";
// System.out.println("用户名一致");
}else {
messages = "用户名不一致";
// System.out.println("用户名不一致");
}
// 判断密码是否为空,是否一致
if(one.getPassword() == null || two.getPassword() == null) {
messages = "密码为空";
// System.out.println("密码为空");
}else if(one.getPassword().equals(two.getPassword())) {
messages = "密码一致";
// System.out.println("密码一致");
}else {
messages = "密码不一致";
// System.out.println("密码不一致");
}
return messages;
}
}
public class Test1 { // 测试方法 public static void main(String[] args) { //实例化对象,调用相关方法实现运行效果 User one = new User("Lucy","123456"); one.Show(); User two = new User("Mike","1234569"); two.Show(); System.out.println("============"); UserManager um = new UserManager(); System.out.println(um.checkUser(one, two)); System.out.println(um.checkUser(one, two)); } }
正在回答
public String checkUser(User one, User two) { String str=""; // 判断用户名是否为空,是否一致 if (one.getUsername() == "" || two.getUsername() == "") { str+= "用户名为空"; } else if (one.getUsername().equals(two.getUsername())) { str+= "用户名一致"; } else { str+= "用户名不一致"; } return str; }
类似这种,可以试试
public class UserManager { String messages; // 用户信息验证的方法 public String checkUser(User one, User two) { // 判断用户名是否为空,是否一致 if (one.getUsername() == "" || two.getUsername() == "") { messages = "用户名为空"; } else if (one.getUsername().equals(two.getUsername())) { messages = "用户名一致"; } else { messages = "用户名不一致"; } // 判断密码是否为空,是否一致 if (one.getPassword() == null || two.getPassword() == null) { messages = "密码为空"; } else if (one.getPassword().equals(two.getPassword())) { messages = "密码一致"; } else { messages = "密码不一致"; } return messages; } }
public class Test1 { // 测试方法 public static void main(String[] args) { //实例化对象,调用相关方法实现运行效果 User one = new User("Lucy","123456"); one.Show(); User two = new User("Mike","1234569"); two.Show(); System.out.println("============"); UserManager um = new UserManager(); System.out.println(um.checkUser(one, two)); } }
老师 我的意思是这样的 我是按照您说的 定义了一个字符串变量,用来接收每种情况的提示信息,然后返回这个字符串变量,可是如果用户名和密码都不一致的情况下,就只返回密码不一致的提示信息,前面用户名不一致的提示信息就被覆盖了!!这个怎么解决!如果用返回值的方法。
http://class.imooc.com/course/qadetail/31187
在这个链接中回复了你的问题啦,可以去看看。
另外,之所以输出结果为null,应该是if-else里面的赋值都没有执行到,导致messages依旧为初始值null导致的。
祝学习愉快!
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星