问题描述
- 初学者求解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
。至少要输入两个参数
时间: 2025-01-25 03:57:34