封装的实现1-9问题

封装的实现1-9问题

public class User{
    //定义属性用户名、密码
    private String userName;
    private String password;
    
    public User(String userName,String password){
        this.setUserName(userName);
        this.setPassword(password);
    }
    public void setUserName(String userName){
        this.userName = userName;
    }
    
    public String getUserName(){
        return this.userName;
    }
    
    public void setPassword(String password){
        this.password = password;
    }    
    public String getPassword(){
        return this.password;
    }
}
public class UserManager{
    // 用户信息验证的方法
    public String checkUser(User one, User two) {
       // 判断用户名是否为空,是否一致
      if("".equals(one.getUserName())&&
      one.getUserName()==null&&"".equals(two.getUserName())&&
      two.getUserName()==null){
          System.out.println("用户名不能为空!");
      }
      
      if(one.getUserName()!=two.getUserName()){
          System.out.println("用户名不一致!");
      }
    // 判断密码是否为空,是否一致
   if("".equals(one.getPassword())&&
      one.getPassword()==null&&"".equals(two.getPassword())&&
      two.getPassword()==null){
          System.out.println("密码不能为空!");
      }
      
      if(one.getPassword()!=two.getPassword()){
          System.out.println("密码不一致!");
      }
    }
}
public class Test{
    // 测试方法
 public static void main(String[] args) {
     //实例化对象,调用相关方法实现运行效果
    User one = new User("Lucy","123456");
    one.introduce();
    User two = new User("Mike","123456");
    two.introduce();
    System.out.println("=================");
    UserManager u = new UserManager();
    u.checkUser(one,two);
    }
}

用户名:Lucy
密码:123456
用户名:Mike
密码:123456
=================
Exception in thread "main" java.lang.NoClassDefFoundError: UserManager
 at Test.main(Test.java:10)
Caused by: java.lang.ClassNotFoundException: UserManager
 at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
 ... 1 more


我看了下课有也有提过类似问题,难道这三个类不是在同一个包中的?

正在回答

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

4回答

出现错误的原因是,UserManager中的 String checkUser(User one, User two)  方法要求返回值,你的代码中没有设置返回值。所以在线编辑器无法解析这个类,并不是放在不同包里了。

烟囱0_0 2017-06-08 11:17:15

public String checkUser(User one,User two) 没有String类型的返回值

User类里没有introduce()方法

西瓜三太郎 2017-06-06 20:58:47

碰到同样问题,应该是题目有问题,三个类不在同一个包下面。

  • gank #1
    题目没问题,他这个是没有返回值的原因,可以在类后面添上return " "; 估计应该是这样
    2017-06-14 21:13:20
提问者 走在阡陌的路上 2017-04-20 16:11:28
if(!one.getUserName().equals(two.getUserName())){        
   System.out.println("用户名不一致!");
      }
 if(!one.getPassword().equals(two.getPassword())){         
    System.out.println("密码不一致!");
      }

改了两段代码,

问题一样:

我看了下课友也有提过类似问题,难道这三个类不是在同一个包中的?(上面问题有错别字,尴尬!!)

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

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

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

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

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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