我在一个包里写了几个java文件   编译能通过   运行的时候老提醒我Exception in thread "main"java.lang.NOclassDeffoundError  跪求解决一下吧  我都弄了几个小时还是同样的问题  拜托大师了!
我的具体程序是文件1:
package org.lxh;
import org.lxh.*;
interface Suan{
   public int add(int cou);
   public int dec(int cou);   }class Count extends Person implements Suan{
 private int balance;
 private int ka;
 static int c3,c4;
  int c1,c2;
 public Count(){}
 public Count(String name,String sex,int ka,int balance){
 super(name,sex);
 this.balance=balance;
 this.ka=ka;
}
public int getBalance(){
     return this.balance; 
   }
public void setBalance(int balance){
    this.balance=balance;
   }
public int getKa(){
     return this.ka; 
   }
  public void setKa(int ka){
    this.ka=ka;
   } public void tell(){
  System.out.println("名字:"+getName()+" "+"卡号:"+getKa()+" "+"性别:"+getSex()+" 余额:"+getBalance());}public int add(int cou){
        Count c1=this;
        c3=c1.balance+cou;
         if(c3<3000)
         return c3;
        else return -1;
          }public int dec(int cou){
      Count c2=this;
      c4=c2.balance-cou;
       if(c4>0)
       return c4;
       else return -1;}
}
文件2:
package org.lxh;
import org.lxh.*;
class Date{
   private int year;
   private int month;
   private int day;
   public Date(){}
   public Date(int year,int month,int day){
     this.setYear(year);
     this.setMonth(month);
     this.setDay(day);
   }
   public int getYear(){
     return year;
   }
   public int getMonth(){
     return month;
   }
   public int getDay(){
     return day;
   }
   public void setYear(int a){
     year=a;
   }
   public void setMonth(int b){
   if(b>0&&b<13){
     month=b;}
   }
   public void setDay(int c){
   if(c>0&&c<32){
     day=c;}
   }
   public void tell(){
   System.out.println("出生日期:"+getYear()+"年"+getMonth()+"月"+getDay()+"日");
  }
}
文件3
package org.lxh;
import org.lxh.*;
class Person{
   private String name;
   private String sex;
   public Person(){}
   public Person(String name,String sex){
   this.setName(name);
   this.setSex(sex);
   }
   public String getName(){
     return name; 
   }
   
   public String  getSex(){
      return sex; 
   }
   public void setName(String a){
    name=a;
   }
   
    public void setSex(String c){
    sex=c;
   }
   public void tell(){
   System.out.println("名字:"+getName()+" "+"性别:"+getSex());
  }
}
文件4
package org.lxh;
import org.lxh.*; 
class Student extends Person{
  private int snum;
  public Student(){}
  public Student(String name,int snum,String sex){
      super(name,sex);
      this.snum=snum;}
  public int getSnum(){
     return snum; 
   }
  public void setSnum(int b){
    snum=b;
   }
  public void tell(){
      System.out.println("名字:"+getName()+" "+"学号:"+getSnum()+" "+"性别:"+getSex());}

文件5package org.lxh;
import org.lxh.*;public class Zuo04{
 public static void main(String[] args){
 Date d=new Date(1992,10,25);
 
 Student t=new Student("杨庆磊",10846,"男");
 Count c=new Count("杨庆磊","男",11110,2500);
 t.tell();
 d.tell();
try{
  String str1=args[0];String str2=args[1];String str3=args[2];
  System.out.println("所选课程为:"+str1+str2+str3);
 }catch(Exception e){
  System.out.print("出现异常:"+e);}
 c.tell();
if(c.add(100)==-1)
System.out.println("存款不能超过3000,请重新存入");
else System.out.println("存款之后金额为:"+c.add(100));
 
if(c.dec(2000)==-1)
System.out.println("余额不足,请重新输入");
else System.out.println("取款之后金额为:"+c.dec(2000)); }
}
 
  

解决方案 »

  1.   

    把类放在 org.lxh 这个目录里了吗?
    windows对应的文件夹
      

  2.   

    main方法是你自己手写的,还是自动生成的,我也出现过着种情况,是把main方法这行代码写错了!你检查下!
      

  3.   

    为什么 不加public class?
      

  4.   

    注意一下路径的问题,请注意你的当前目录是什么,你是如何运行的?
    最好给出classpath的设置,你的当前路径和执行程序的方法,以便进一步判断。
      

  5.   

      初学Java时经常会有人(比如我)遇到下面的报错信息:                         "Exception in thread "main" java.lang.NoClassDefFoundError “八成都是环境变量设置有问题(还有部分是输错类名造成的),环境变量问题的解决方法之一是创建 classpath项,并赋值 “.”(不包括引号)。但本人的问题还是没有解决,鼓捣了一个小时(我承认时间是长了点  )才发现没有重启“命令提示符 ”窗口,关闭后再打开窗口,问题解决。    结论:设置环境变量后,请记得重启“命令提示符”窗口!! 转载自:http://catrush.blogbus.com/logs/106415874.html
      

  6.   

    //一个文件下就能通过了,如果要分开来,class前面要加public。回答前能测试下代码吗。。interface Suan {
    public int add(int cou); public int dec(int cou);
    }class Count extends Person implements Suan {
    private int balance;
    private int ka;
    static int c3, c4;
    int c1, c2; public Count() {
    } public Count(String name, String sex, int ka, int balance) {
    super(name, sex);
    this.balance = balance;
    this.ka = ka;
    } public int getBalance() {
    return this.balance;
    } public void setBalance(int balance) {
    this.balance = balance;
    } public int getKa() {
    return this.ka;
    } public void setKa(int ka) {
    this.ka = ka;
    } public void tell() {
    System.out.println("名字:" + getName() + " " + "卡号:" + getKa() + " "
    + "性别:" + getSex() + " 余额:" + getBalance());
    } public int add(int cou) {
    Count c1 = this;
    c3 = c1.balance + cou;
    if (c3 < 3000)
    return c3;
    else
    return -1;
    } public int dec(int cou) {
    Count c2 = this;
    c4 = c2.balance - cou;
    if (c4 > 0)
    return c4;
    else
    return -1;
    }
    }class Date {
    private int year;
    private int month;
    private int day; public Date() {
    } public Date(int year, int month, int day) {
    this.setYear(year);
    this.setMonth(month);
    this.setDay(day);
    } public int getYear() {
    return year;
    } public int getMonth() {
    return month;
    } public int getDay() {
    return day;
    } public void setYear(int a) {
    year = a;
    } public void setMonth(int b) {
    if (b > 0 && b < 13) {
    month = b;
    }
    } public void setDay(int c) {
    if (c > 0 && c < 32) {
    day = c;
    }
    } public void tell() {
    System.out.println("出生日期:" + getYear() + "年" + getMonth() + "月"
    + getDay() + "日");
    }
    }class Person {
    private String name;
    private String sex; public Person() {
    } public Person(String name, String sex) {
    this.setName(name);
    this.setSex(sex);
    } public String getName() {
    return name;
    } public String getSex() {
    return sex;
    } public void setName(String a) {
    name = a;
    } public void setSex(String c) {
    sex = c;
    } public void tell() {
    System.out.println("名字:" + getName() + " " + "性别:" + getSex());
    }
    }class Student extends Person {
    private int snum; public Student() {
    } public Student(String name, int snum, String sex) {
    super(name, sex);
    this.snum = snum;
    } public int getSnum() {
    return snum;
    } public void setSnum(int b) {
    snum = b;
    } public void tell() {
    System.out.println("名字:" + getName() + " " + "学号:" + getSnum() + " "
    + "性别:" + getSex());
    }
    }public class Zuo04 {
    public static void main(String[] args) {
    Date d = new Date(1992, 10, 25); Student t = new Student("杨庆磊", 10846, "男");
    Count c = new Count("杨庆磊", "男", 11110, 2500);
    t.tell();
    d.tell();
    try {
    String str1 = args[0];
    String str2 = args[1];
    String str3 = args[2];
    System.out.println("所选课程为:" + str1 + str2 + str3);
    } catch (Exception e) {
    System.out.println("出现异常:" + e);
    }
    c.tell();
    if (c.add(100) == -1)
    System.out.println("存款不能超过3000,请重新存入");
    else
    System.out.println("存款之后金额为:" + c.add(100)); if (c.dec(2000) == -1)
    System.out.println("余额不足,请重新输入");
    else
    System.out.println("取款之后金额为:" + c.dec(2000));
    }
    }
      

  7.   

    java org.lxh.Zuo04  ?