我是java的新手。我的代码是:
public class Hi {
public static void main(String[] args) {
System.out.print("Hi, ");
System.out.print(args[2]);
System.out.print(",");
System.out.print(args[1]);
System.out.print(", and");
System.out.print(args[0]);
System.out.println(".");
}
}
运行此程序时出现以下异常:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at Hi.main(Hi.java:5)
我很高兴知道为什么我有这个例外以及如何解决它。
答案 0 :(得分:0)
您传递的参数小于3,这就是您收到此错误的原因。
尝试下面的命令,
java hi test test test
答案 1 :(得分:0)
要么在执行程序时传递命令行参数,要么 args.length< 3 强>
答案 2 :(得分:0)
如果您尝试运行此程序提供2个或更少的参数,则会出现此异常。
args[0]
将成为数组的第一个索引。 args[1]
将是第二个索引。args[2]
将是数组的第三个索引。这是因为对于Java中的数组,数组索引以0开头并以n-1结尾。 (n是数组的大小)。
命令行方式
如果您运行该程序,此程序将运行正常
java Hi Demo Test Argument
此处Demo
位于args[0]
,Test
位于args[1]
且Argument
位于args[2]
。
使用Eclipse IDE
Run As
并选择Run Configurations
Java Application
Arguments
标签,在Program
Arguments
textarea中提供三个以空格分隔的参数,如下图所示。
Apply
,然后点击Run