如何使用命令行args []设置数组大小?爪哇



我遇到的问题是我的编译器指出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中交换了lengtharraylength

最新更新