Java错误“线程中的异常”主“java.lang.ArrayIndexOutOfBoundsException”

时间:2013-03-26 21:51:54

标签: java

以下是本书中的这个简单代码,它在netbeans和通过命令提示符运行的编译版本(.class)版本中生成错误消息。

错误消息

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at intocm.Intocm.main(Intocm.java:17)

将英寸转换为厘米的简单程序。

package intocm;

public class Intocm {

    public static void main(String[] args) {
        // TODO code application logic here
        double inches;
        inches = Double.valueOf(args[0]).doubleValue();
        double cm;
        cm = inches * 2.54;
        System.out.println(cm + "Centimeters");
    }
}

导致错误的行是

inches = Double.valueOf(args[0]).doubleValue();

我不知道为什么这个数组“args”会导致这个错误,请帮助我理解这个。

谢谢。

3 个答案:

答案 0 :(得分:5)

您没有传递命令行参数。 args[0]期待命令行参数。

如果从命令行运行它,请尝试:

java Intocm 12.0

在日食中

Run---> Run Configuration--->
                            Arguments Tab--->
                                            give program arguments-->
                                                                  apply---> run

答案 1 :(得分:1)

类的args方法中的main参数由命令行参数提供。您没有使用任何命令行参数调用jar,因此该数组没有零元素。

答案 2 :(得分:1)

如果args[0]导致ArrayIndexOutOfBoundsException,则您没有提供任何命令行参数。测试args.length;如果是0,则处理错误。