运行的时候你应该在和文件夹a的同一个目录输入命令java a\A

解决方案 »

  1.   

    java a.A
    如楼上所说的目录下
      

  2.   

    java a.A
    另外,阁下最好用个IDE,如JBuidler,他会加快你的学习速度,并避免你犯诸如此类的低级错误。
      

  3.   

    谢谢。
    不过我在f:\建立了一个a文件夹,然后将A.java、A.class都copy进去了。然后在f:\a下运行A.java可还是不行,错误提示依然如上。
      

  4.   

    运行a.java???????????????
    不是a.class吗?命令就直接是
    java a.A
    不用打扩展名
      

  5.   

    javac A.java
    java A
      

  6.   

    还是不行,
    C:\>java f:\a.A
    Exception in thread "main" java.lang.NoClassDefFoundError: f:\a/A或者:
    F:\a>java A
    Exception in thread "main" java.lang.NoClassDefFoundError: A (wrong name:
            at java.lang.ClassLoader.defineClass0(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.
    3)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
      

  7.   

    F:\>java a.A
    试过吗?
      

  8.   

    也不行
    F:\>java a.A
    Exception in thread "main" java.lang.NoClassDefFoundError: a/A
      

  9.   

    这么来,肯定行
    java -classpath "./" a.A在f:\下运行
      

  10.   

    to takecare(大厅) :我设置了。
    to XKP(低等下人) :sorry,你说的对。
    F:\>java a.A
    Hello World!
    那我在editplus中怎么不行呢,难道非得在dos下运行吗?
      

  11.   

    这个··········
    我没用editplus运行,所以~~~
    或许是因为在editplus里面读不到系统的环境变量把一般很小的程序比较推荐
    Jcreator就行了,里面也可以设置环境变量~~~~~~
      

  12.   

    to XKP(低等下人) :我还有一个新问题,请你务必帮我看看,谢了。
    刚才的问题解决后,我现在想在f:\下的 B.java 中访问刚才 f:\a\A.class中的类A,B.java是这样写的:
    import a.*;
    class  B extends A
    {
    public static void main(String[] args) 
    {
    System.out.println("Hello World!");
    }
    }
    编译B.java时,出现:
    F:\>javac B.java
    B.java:2: cannot access A
    bad class file: F:\a\A.class
    class file contains wrong class: a.A
    Please remove or make sure it appears in the correct subdirectory of the classpa
    th.
    class  B extends A
                     ^
    1 error
    可是F:\a\A.class明明存在呀,我该怎么办?
      

  13.   

    你把F根目录下面的
    A.java删掉··········
      

  14.   

    f:\只有 B.java,A.java 和 A.class都在f:\a下,不过我照你说的删除A.java后,错误提示还是那样。另外,我在系统变量classpath中加了F:\a,是什么问题呢?
      

  15.   

    在F根目录下面编译A.java
    生成一个a文件夹
    然后把A.java删掉,把B.java放在根目录下面
    编译B.java,你再试试看系统变量只要  .  就行了
      

  16.   

    生成的A.class需不需要放在a文件夹中呀,不过我放进去了后,成了这样了。
    F:\>javac B.java
    B.java:2: cannot access A
    bad class file: .\A.class
    class file contains wrong class: a.A
    Please remove or make sure it appears in the correct subdirectory of the classpa
    th.
    class  B extends A
                     ^
    1 error你千万不要走开呀,一定要帮我吧这个问题解决掉,我搞了n天也没搞清楚。拜托了!!!
      

  17.   

    你在F根目录下面编译A.java就自动生成了a文件夹和a文件夹里面的A.class
    那个A.class是自动生成在a目录里边的,不是你放进去的~~~~~
    你不会是在别的地方编译之后然后把A.class复制进去的吧?
    然后你再在F根目录下面编译B.java
    你是这样做的吗?
      

  18.   

    我删除f:\下的A.class后 (这时 f:\a 下有一个A.class) ,又成了:
    F:\>javac B.java
    B.java:2: cannot access A
    bad class file: F:\a\A.class
    class file contains wrong class: a.A
    Please remove or make sure it appears in the correct subdirectory of the classpa
    th.
    class  B extends A
                     ^
    1 error怎么错误提示不一样呀?
      

  19.   

    ”你在F根目录下面编译A.java就自动生成了a文件夹和a文件夹里面的A.class“可是我在dos下输入
    F:\>javac A.java后,它在f:\下生成了A.class文件,并没有自动生成a文件夹和a文件夹里面的A.class呀。
      

  20.   

    如果你在A.java里面有打入
    package a;的话
    那么是会在a目录下面生成的
      

  21.   

    A.java代码是:
    package a;
    public class A
    {
    public static void main(String[] args) 
    {
    System.out.println("Hello World!");
    }
    }我把A.java放在f:\,然后在dos下输入
    F:\>javac A.java 后它只在f:\生成了一个A.class,没有生成a目录,你可以吗,哪里出了问题呢?
      

  22.   

    package a;
    public class A
    {
     public static void main(String[] args) 
     {
      System.out.println("Hello World!");
     }
    }代码跟你得一模一样
    可是我就是能够生成a目录阿~~~~~~
      

  23.   

    那package a;默认是在当前路径下生成一个a目录吗?那可不可以在其他地方生成一个a目录呢?比如:c:\,是不是写成package c:\a;呢?
      

  24.   

    比如:c:\,是不是写成package c:\a;呢?就我知道的好像不是这个样子的············你可以搜索一下你的系统看看阿?
    或者看看你的JDK的安装目录里的bin目录
    希望有
      

  25.   

    唉,没有。
    我用的是j2sdk1.4.1,系统是win2000 server,同样的代码怎么会和你编译的结果出现这么大的不同啊?都快疯了
      

  26.   

    对了,后来A.java文件运行成功时,我就是自己新建的一个a目录,然后在里面编译A.java生成A.class,然后输入F:\>java a.A 才成功的,这么说我从头到尾的过程都有问题。
      

  27.   

    首先 编译该文件的时候键入
    javac - d . A.java
    运行时候
    java a.A
    你是不是这样编译的
    我有一次也是这样 后来好了
    试试
      

  28.   

    to dogcai(dogcai):javac - d . A.java,这里的d是什么阿?