为什么运用不了条件?

为什么运用不了条件?

public class Test{
    // 测试方法
    public static void main(String[] args) {
        // 实例化对象,调用相关方法实现运行效果
        User one = new User();
        User two = new User();//"Mike", "123456"
        one.setName("Lucy");
        one.setPwd("123456");
        two.setName("Mike");
        two.setPwd("123456");
        System.out.println("用户名:" + one.getName());
        System.out.println("密码:" + one.getPwd());
        System.out.println("用户名:" + two.getName());
        System.out.println("密码:" + two.getPwd());
        System.out.println("===============================");
        UserManager mg=new UserManager();
        mg.checkUser(one,two);
    }
}



public class User{
   // 定义属性用户名、密码
    private String name;
    private String pwd;
 
    public User() {
 
    }
 
    /*public User(String name, String pwd) {
        this.setName(name);
        this.setPwd(pwd);
    }*/
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getName() {
        return name;
    }
 
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
 
    public String getPwd() {
        return pwd;
    }
}




public class UserManager{
    // 用户信息验证的方法
    public String checkUser(User one, User two) {
       // 判断用户名是否为空,是否一致
    if(one.getName().equals(two.getName())){
        
        System.out.println("用户名一致");
        
        if(one.getPwd().equals(two.getPwd())){
            System.out.println("密码一致");
        }
        else{System.out.println("密码不一致");}
    }
    
    else{System.out.println("用户名不一致");}
    
    // 判断密码是否为空,是否一致

    }
}


正在回答

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

3回答

checkUser()方法是有返回值的,要返回一个字符串,你的代码中都把字符串打印出来了,要不就都改成return,要不就把返回值改为void,祝学习愉快!

  • ShockerDemo 提问者 #1
    返回就不行了。下面代码
    2017-07-31 12:23:18
  • ShockerDemo 提问者 #2
    public class UserManager{ // 用户信息验证的方法 public String checkUser(User one, User two) { // 判断用户名是否为空,是否一致 String A; if(one.getName().equals(two.getName())){ A="用户名一致"; //System.out.println("用户名一致"); return A; if(one.getPwd().equals(two.getPwd())){ A="密码一致"; //System.out.println("密码一致"); return A; } else{ A="密码不一致"; //System.out.println("密码不一致"); return A; } } else{ A="用户名不一致"; //System.out.println("用户名不一致"); return A; } } }
    2017-07-31 12:23:37
提问者 ShockerDemo 2017-07-31 22:38:53

public class UserManager{

    // 用户信息验证的方法

    public String checkUser(User one, User two) {

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

       String A;

    if(one.getName().equals(two.getName())){

        

        A="用户名一致";  //System.out.println("用户名一致");

            

        if(one.getPwd().equals(two.getPwd())){

            A="密码一致";   //System.out.println("密码一致");

        }

        else{

            A="密码不一致"; //System.out.println("密码不一致");

        }

    }

    else{

        A="用户名不一致";  //System.out.println("用户名不一致");

    }

        return A;

    

    }

}


提问者 ShockerDemo 2017-07-31 12:22:26
public class UserManager{
    // 用户信息验证的方法
    public String checkUser(User one, User two) {
       // 判断用户名是否为空,是否一致
       String A;
    if(one.getName().equals(two.getName())){
        
        A="用户名一致";  //System.out.println("用户名一致");
            return A;
        if(one.getPwd().equals(two.getPwd())){
            A="密码一致";   //System.out.println("密码一致");
            return A;
        }
        else{
            A="密码不一致"; //System.out.println("密码不一致");
            return A;
        }
     
    }
    
    else{
        A="用户名不一致";  //System.out.println("用户名不一致");
       return A;
    }

    
    }
}


  • 将所有的return A;都去掉,在if-else结构执行完后,再写一条return A;就可以了。不然会因为第一个return A;导致其后面的if-else永远不能被执行到而报错。
    2017-07-31 13:54:14
  • 提问者 ShockerDemo 回复 好帮手慕珊 #2
    改了,可是没输出来
    2017-07-31 22:39:59
  • 好帮手慕雪 回复 提问者 ShockerDemo #3
    把mg.checkUser(one,two);修改成“System.out.println(mg.checkUser(one,two));”
    2017-08-01 11:29:39
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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