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

时间:2018-02-28 03:20:05

标签: java

我遇到的问题是我的编译器声明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%8s\n", "Index", "Value");
  for( int counter = 0; counter < length; counter++){
  System.out.printf("%5d%8d\n", counter, array[counter]);

   }

}
}

2 个答案:

答案 0 :(得分:2)

如果未向程序传递11个参数,则会出现ArrayIndexOutOfBoundsException。您正在尝试获取args数组的索引10的整数值。

答案 1 :(得分:0)

它失败了什么线?在Integer.parseInt(args[10])上? 是args.length == 11吗?

在你的代码中:
- “length”是传递给你的程序的参数数量(我估计至少11个......)
- “arraylength”是第11个参数的值,它的值是多少?

您似乎在length循环中交换了arraylengthfor