我是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)。
答案 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
,传递一些值
你的代码运行得很好.. !!