java.lang.ArrayIndexOutOfBoundsException

时间:2013-08-01 02:12:40

标签: java

我是Java程序员的新手。我不知道main方法有什么问题,它一直指着我这行

    int x = Integer.parseInt(args[0]);

这是我的代码

public static void main(String[] args) {

    assert args.length == 1;
    int x = Integer.parseInt(args[0]);
    while (x != 1) {
        x = nextInt(x);
        System.out.print(" " + x);
    }
}

public static int nextInt(int x) {
    if (x % 2 == 0) {
        return x / 2;
    } else
        return 3 * x + 1;
}

2 个答案:

答案 0 :(得分:3)

我将假设你在程序调用的第一个参数中使用了一个数字。

您正在使用断言,验证断言是否已激活。使用VM参数执行代码:-ea

答案 1 :(得分:1)

简单地说,在Java中java.lang.ArrayIndexOutOfBoundsException表示数组的指定索引中没有数组元素。

因此,在命令提示符下运行java应用程序时,请确保输入至少1个参数。在您的情况下,它应该可以解析为整数。

例如:

java {class_name_with_main_methof} {argument_1} {argument_2}