为什么我会得到一个' ArrayIndexOutOfBoundsException'错误?

时间:2014-10-17 04:53:54

标签: java

我是Java编程的新手。

有人可以使用以下代码协助我:

public class RandomSeq {
	public static void main(String[] args) {
		// command-line argument
		int N = Integer.parseInt(args[0]);

		// generate and print N numbers between 0 and 1
		for (int i = 0; i < N; i++) {
			System.out.println(Math.random());
		}
	}
}

尝试编译时收到以下错误消息:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

提前谢谢。

[1]我使用64位Java 8(Update 25)SE实现,使用64位Eclipse IDE for Java Developers(v.4.4.1)。

4 个答案:

答案 0 :(得分:4)

如果您运行main()而不提供参数列表(String[] args),则args为空。

因此,索引0不是有效索引,因为args为空。

int N =Integer.parseInt(args[0]);// this cause ArrayIndexOutOfBoundsException

如何在Eclipse中为main()设置参数。 Read from here

答案 1 :(得分:0)

它因为args是空的:

public class RandomSeq {
    public static void main(String[] args) {
        // command-line argument
        if (args.length > 0) {
            int N = Integer.parseInt(args[0]);

            // generate and print N numbers between 0 and 1
            for (int i = 0; i < N; i++) {
                System.out.println(Math.random());
            }
        }
        else {
            System.out.println("args is empty");
        }
    }
}

答案 2 :(得分:0)

Run-> Run Configurations->Arguments->Enter your arguments separated by space->Apply->Run

确保在运行配置下的“主要”选项卡下选择了正确的项目名称及其主要方法

答案 3 :(得分:0)

因为你没有传递任何价值所以args []是空的。
当您使用Eclipse时,请转到Run->Run Configuration-> Arguments,传递一些值 你的代码运行得很好.. !!