当我尝试运行此代码时
public class Test{
public static void main(String[] args){
System.out.println(args[0]);
}
}
它抛出此异常
Exception in thread "main"
java.lang.ArrayIndexOutOfBoundsException: 0
at Test.main(Test.java:3)
我的代码出了什么问题?谢谢。
答案 0 :(得分:3)
运行应用程序时,args
参数将传递给main
方法。如果没有参数传递给应用程序,则访问args
数组的第一个索引将抛出ArrayIndexOutOfBoundsException
。
尝试从命令行运行应用程序,如下所示:
cd /Whatever/directory/contains/the/class
javac Test.java
java Test a b c
如果您使用的是Eclipse IDE程序,可以通过Run>设置参数。运行配置,然后选择您的程序并提供参数。
答案 1 :(得分:3)
运行您的程序,如
java Test foobar
foobar
是arg[0]
。
但是你应该检查数组大小。
答案 2 :(得分:1)
将其作为
运行$ java Test foo
将打印
foo
答案 3 :(得分:0)
使用以下内容运行它:
java package.to.Test arg0 arg1 arg2
答案 4 :(得分:0)
要扩展,超出范围的数组异常意味着您已尝试访问未由值填充的数组索引。在这种情况下,没有数据传递给args。您可以在Eclipse中设置参数,或者在从命令行运行程序时指定它们等。