为什么我的程序昨天可以编译,生成class 文件,但执行不了,出现
Exception in thread "main" java.lang.NoClassDefFoundError: MultiplicationTable/j
ava
但今天又可以执行,期间我没改过任何东西,就昨天没运行成功时听各路大虾完善了下环境变量,之后还是米执行成功,然后
今天又可以执行了,额,高兴,然而又编了一个程序,然后又出现相同问题,我郁闷、、、哪位高手解释下

解决方案 »

  1.   

    好的
    import javax.swing.JOptionPane;public class MultiplicationTable{
    /**Main method*/
    public static void main(String[] args){
    //Display the table heading
    String output = "       Multiplication Table     \n";
    output += "--------------------------------------\n";

    //Display the number title
    output +=" |";
    for(int i = 1;i<10;i++)
    output += "  "+i;

    output += "/n";

    //Print table body
    for (int i = 1;i<10;i++){
    output += i+"|";
    for (int j = 1;j<10;j++){
    //Display the product and align properly
    if (i*j<10)
    output += "  "+i*j;
    else
    output += " "+i*j;
    }
    output += "\n";
    }

    //Display result 
    JOptionPane.showMessageDialog(null,output);
    }
    }
      

  2.   

    估计他是这么个执行过程效果一样。。
    C:\>javac MultiplicationTable.javaC:\>java MultiplicationTable.java
    Exception in thread "main" java.lang.NoClassDefFoundError: MultiplicationTable/j
    ava
    注意:
    javac是编译的java原文件,java是加载java类的。
    所以javac是  javac 文件名.java  (有扩展名)
    而java是     java 类名           (当然你的main方法所在的类是public也可以说是文件名,没有扩展名)
      

  3.   

    不知楼主是不是把项目打成了包(jar文件),如果是这样的话,有时确实会出现这种问题,如果你把你的Eclipse关闭再重新打开可以找到类的话,说明就环境本身的问题了!。。
      

  4.   

    lz,你那个java MultiplicationTable.java写错了,后面不应该有扩展名。应该是:java MultiplicationTable,再试试