初学者求解java数组下标越界问题

public class Test{
public static void main(String[]args){
System.out.println(args[0]);
System.out.println(args[1]);
}
}

doc显示Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:0 at Test.main(Test.java:3)
这是照着书上打的怎么还有错啊

没有传递参数啊,你需要先判断args是否为空,及其length才能正确使用。
java运行main函数时传递的参数是需要配置的,可以new-application后配置参数,也可直接对已经运行过的main函数进行配置。
流程为Run ->Run Configurations中,参数表单,多个参数间用空格隔开,那么这些参数就会被传递到main的args数组中了。
图片说明
然后修改你的main,判断是否传入了参数,如果传入了就打印参数:

    public static void main(String[] args) {
        if(args!=null&&args.length>0){
            System.out.println("参数1:"+Arrays.toString(args));
        }
    }

一个数字只有三个位置,如果你填了四个就越界了。String [] args 参数需要设置才会有

先要添加args 的参数,在run configurations里面

运行程序时应该输入参数,如java Test hello word
。至少要输入两个参数