我遇到的问题是我的编译器指出10个不限制。但是,如果那是我将其设置为数数的阵列长度,它怎么能超出界限?
public class InitArray {
public static void main ( String [] args){
int arrayLength = Integer.parseInt(args[10]); //set array length
int[] array = new int[arrayLength]; /make array
int length = args.length; //the array length to be put in for loop
System.out.printf("%s%8sn", "Index", "Value");
for( int counter = 0; counter < length; counter++){
System.out.printf("%5d%8dn", counter, array[counter]);
}
}
}
如果您不将11个参数传递给程序,则将arrayIndexOutOfBoundSexception。您正在尝试获取Args数组索引10的整数值。
在哪一行失败?在Integer.parseInt(args[10])
上?args.length == 11
吗?
在您的代码中:
- " length
"是传递给您程序的参数数(我猜至少11个...(
- " arraylength
"是第11个参数的值,它的价值是什么?
看来您在for
Loop中交换了length
和arraylength