判断用户名密码是否为空,是否一致
老师,判断用户名是否为空要怎么写啊?要用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 星