2 qq 28195487 qq_28195487 于 2016.01.17 21:22 提问

初学者求解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)
这是照着书上打的怎么还有错啊

4个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.17 21:55

没有传递参数啊,你需要先判断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));
        }
    }
wojiushiwo945you
wojiushiwo945you 先运行一遍你的main函数,然后Run Configurations时就会多出刚刚运行的应用了,再修改配置添加参数就可以了。
接近 2 年之前 回复
qq_19558705
qq_19558705   Ds   Rxr 2016.01.17 22:08

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

kuqi007
kuqi007   2016.01.18 10:25

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

hgq0916
hgq0916   2016.01.18 12:35

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!