我有以下代码:
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类?
答案 0 :(得分:2)
1 /您的代码正常工作我立即复制/粘贴
2 /你在你的例外中提到了一个Car
类,但你的代码中没有
答案 1 :(得分: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);
}
}
答案 2 :(得分:1)
唯一的问题是,当您运行代码时,您提供的命令为java Car
,而不是java Cars
。
答案 3 :(得分:1)
请重新检查文件名。因为错误引用了代码中不可用的Car
。尝试将文件重命名为Cars.java
。