Java 有人能解释System.out.println(args[0])吗;
当我尝试运行此代码时Java 有人能解释System.out.println(args[0])吗;,java,Java,当我尝试运行此代码时 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) 我的代码怎么了?谢谢。应用程序运行时,
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)
我的代码怎么了?谢谢。应用程序运行时,
args
参数将传递给main
方法。如果未向访问args
数组的第一个索引的应用程序传递任何参数,则将抛出ArrayIndexOutOfBoundsException
尝试从命令行运行应用程序,如下所示:
cd /Whatever/directory/contains/the/class
javac Test.java
java Test a b c
如果您正在使用EclipseIDE,可以通过运行>运行配置,然后选择您的程序并提供参数来设置程序参数
将其作为
$ java Test foo
哪个会打印
foo
像这样运行你的程序
java Test foobar
foobar
是arg[0]
不过,您应该检查数组大小。使用以下方法运行它:
java package.to.Test arg0 arg1 arg2
要扩展,越界数组异常意味着您试图访问未填充值的数组索引。在本例中,没有向args传递任何数据。您可以在Eclipse中设置参数,也可以在从命令行运行程序时指定参数,等等。您需要在运行程序时传递一些参数(至少一个)。您来自
C
背景吗Java
不会像C
那样用argv[0]
打印文件名,您希望得到什么输出?@user3339005很高兴我能提供帮助!