判断用户名密码是否为空,是否一致

判断用户名密码是否为空,是否一致

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

    }


}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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));
 
    }
 
}


正在回答

登陆购买课程后可参与讨论,去登陆

3回答
1
2
3
4
5
6
7
8
9
10
11
12
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;
}

类似这种,可以试试

  • 无谓艰苦 提问者 #1
    非常感谢!
    2017-12-11 21:56:21
提问者 无谓艰苦 2017-12-10 09:41:10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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://img1.sycdn.imooc.com//climg/5a2c8fda0001d53302720390.jpg

老师  我的意思是这样的 我是按照您说的 定义了一个字符串变量,用来接收每种情况的提示信息,然后返回这个字符串变量,可是如果用户名和密码都不一致的情况下,就只返回密码不一致的提示信息,前面用户名不一致的提示信息就被覆盖了!!这个怎么解决!如果用返回值的方法。

  • 可以试试在方法开始定义一个字符串,然后通过字符串拼接的方式依次添加将错误提示添加在字符串上,最后将完整的错误信息字符串返回到调用处
    2017-12-10 18:24:51
  • 提问者 无谓艰苦 回复 喜欢做梦的鱼 #2
    请赐教怎么拼??我是实在想不出来怎么拼接!我也是在方法开始处定义的字符串,不管怎么拼最后只有一个返回值,就只能显示一个错误提示啊!就比如用户名和密码都不一致的时候,怎么用返回值输出:用户名不一致 密码不一致!
    2017-12-10 21:28:54
好帮手慕珊 2017-12-10 08:55:50

http://class.imooc.com/course/qadetail/31187

在这个链接中回复了你的问题啦,可以去看看。

另外,之所以输出结果为null,应该是if-else里面的赋值都没有执行到,导致messages依旧为初始值null导致的。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码