3

我是一名新手 Java 程序员。我不知道主要方法有什么问题,它一直指向我这一行

    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;
}
4

2 回答 2

3

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

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

于 2013-08-01T02:16:08.283 回答
1

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

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

例如:

java {class_name_with_main_methof} {argument_1} {argument_2}
于 2013-08-01T02:25:51.507 回答