你想想你设置了CLASSPATH没有?
如果是WIN98在编辑AUTOEXEC.BAT,在最后面加入
classpath=.;c:\jdk1.3\lib\dt.jar;c:\jdk1.3\lib\tools.jar或如果装了JB的话这样写也行:
classpath=.;c:\jbuilder6\jdk1.3\lib\dt.jar;c:\jbuilder6\jdk1.3\lib\tools.jar,具体怎么写看你版本和安装路径,应该懂的!
如果是WIN2K,在右键点“我的电脑”-->属性--->高级--->环境变量,
在系统变量下,新建classpath,其值为c:\jdk1.3\lib\dt.jar;c:\jdk1.3\lib\tools.jar,最好也加上路径,这样不管你在哪儿编译都可以,编辑PATH,在最后加入";c:\jdk1.3\;c:\jdk1.3\bin"
祝好运!

解决方案 »

  1.   

    关键在运行时要指出运行含有main的类假设//1.javaclass A{}class B{
     public static void main(String args[]){
     ..
     }
    }编译后生成A.class和B.class,应该用下面的命令运行java B
      

  2.   

    应该是public class B{}
    吧!
    文件名也不对啊!改为B.java
    这样就行了!
    同一个文件中只能有一个类用public,并且和文件名相同
      

  3.   

    文件中也不一定要有public类,这时文件名可以随便,但是不推荐使用
    当然生成的class文件还是和定义的类名相同的
      

  4.   

    写一个简单程序。文件名为SimpleFrameTest.java,这个程序在JDK中通过编译不能运行。
    提示错误“Exception in thread "main" java.lang.NoClassDefFoundError: SimpleFrameTest”import javax.swing.*;public class SimpleFrameTest
    {
      public static void main(String[] args)
      {
        SimpleFrame frame = new SimpleFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.show();
      }
    }class SimpleFrame
        extends JFrame
    {
      public SimpleFrame()
      {
        setSize(WIDTH, HEIGHT);
      }  public static final int WIDTH = 300;
      public static final int HEIGHT = 200;
    }
      

  5.   

    改写成两个文件。在JDK中可以运行。另外问一句,难道文件名可以与类名不同吗?
    /*   SimpleFrame.java  */
    import javax.swing.*;
    class SimpleFrame extends JFrame
    {
    public SimpleFrame()
    {
    setSize(WIDTH,HEIGHT);
    }

    public static final int WIDTH=300;
    public static final int HEIGHT=200;
    }/*  SimpleFrameTest.java   */
    import javax.swing.*;public class SimpleFrameTest
    {
      public static void main(String[] args)
      {
        SimpleFrame frame = new SimpleFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.show();
      }
    }
      

  6.   

    zi_feng(beginner) ,你这个人怎么不听呀!
    你的两个类写在一个文件也可以!
    我复制过来后,可以编译,也可以运行!
    你只要按照我下面说的设置就可以了!(上面的也写了,不过改了一个小问题),在WIN2K的设置中,加了一个当前目录,"."如果是WIN98在编辑AUTOEXEC.BAT,在最后面加入
    classpath=.;c:\jdk1.3\lib\dt.jar;c:\jdk1.3\lib\tools.jar或如果装了JB的话这样写也行:
    classpath=.;c:\jbuilder6\jdk1.3\lib\dt.jar;c:\jbuilder6\jdk1.3\lib\tools.jar,具体怎么写看你版本和安装路径,应该懂的!
    如果是WIN2K,在右键点“我的电脑”-->属性--->高级--->环境变量,
    在系统变量下,新建classpath,
    其值为".;c:\jdk1.3\lib\dt.jar;c:\jdk1.3\lib\tools.jar",不带引号!
    最好也加上路径,这样不管你在哪儿编译、运行都可以,编辑PATH,在最后加入";c:\jdk1.3\;c:\jdk1.3\bin"
    祝好运!
    快结帖吧!
      

  7.   

    zi_feng(beginner) :你的两种做法都对。
    我编译通过,并可以运行。1。说一下第二种情况,你肯定把两个*.java文件放在同一目录,这样做java认为这两个文件在同一个package中,尽管你并没有声明两者在同一个包中,这是java的default设置。2。文件名可以和非public类不同,但文件名必须和public类名相同3。试者把你两个文件放在不同的文件夹下,肯定编译都通不过。
      

  8.   

    应该是path和classpath的设置问题
    设一下就可以
    在控制面板里面的系统的属性里面设置