Java学习,一个枚举类型例题

来源:百度知道 编辑:UC知道 时间:2024/05/26 08:02:05
public class EnumCompareTo {

public static void compareToAction(Action inputAction)
{
System.out.println("Input: "+inputAction);
for(Action action:Action.values())
System.out.println(action.compareTo(inputAction));
}

public static void main(String[] args)
{
compareToAction(Action.valueOf(args[0]));
}
}
错误提示
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Enum.EnumCompareTo.main(EnumCompareTo.java:14)
14行就是主函数调用那句,初学Java,请高手们解释下程序,并指出错误,谢谢
jdk1.6,程序在Myeclipse7.5的环境下

compareToAction(Action.valueOf(args[0])); 很显然,这一句中的args数组内容为空,args[0]就会报数组越界错误。
这里需要你在运行的时候把args[0]的值传进去,像这样运行:
java EnumCompareTo 参数放在这里,回车就可以正常运行了。比如:
java EnumCompareTo abc