0

我有以下代码:

enum CarEnum {
   BMW("BMW"), TOYOTA("Toyota"), FORD("Ford");
   String name;
   CarEnum(String s) {
      name = s;
   }
}
class Cars {
   static CarEnum a;
   public static void main(String[] args) {
      System.out.println(a.BMW.name + " " + a.FORD.name);
   }
}

它在一个名为 Cars.java 的文件中

当我尝试运行它时,我收到以下错误:

java.lang.NoClassDefFoundError: Car
Caused by: java.lang.ClassNotFoundException: Car
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main" 

为什么说找不到类 Car?

4

4 回答 4

2

1/您的代码正在运行我立即复制/粘贴它

2 /您在异常中提到了一个Car类,但代码中不存在

3/ 你确定要启动好的类主方法吗?

于 2012-06-13T08:00:08.347 回答
1

试试这样:

public class Cars {
   enum CarEnum {
       BMW("BMW"), TOYOTA("Toyota"), FORD("Ford");
       String name;
       CarEnum(String s) {
          name = s;
       }
   }
   static CarEnum a = CarEnum.BMW;
   public static void main(String[] args) {
      //you never initialized your a so you can print
      System.out.println(a.name);
      //or to check all your Enums Names
      System.out.println(CarEnum.BMW.name + " " + CarEnum.Ford.name);
   }
}
于 2012-06-13T07:59:16.257 回答
1

请重新检查文件名。因为错误引用Car在代码中不可用。尝试将文件重命名为Cars.java.

于 2012-06-13T08:16:05.967 回答
1

唯一的问题是,当您运行代码时,您给出的是命令java Car而不是java Cars.

于 2012-06-13T08:12:33.450 回答