我发布的程序应该使用户创建一个数组,然后向其中添加整数值。

程序将调用一个方法来查找数组的范围,然后打印返回的值以及打印数组。

但是,当我尝试运行它时,我得到了ArrayIndexOutOfBoundsExecption

`

导入java.util。*; 公共类RangeFinder {

public static void main(String[] args) {      System.out.println("Please enter the length of your array: ");     Scanner sc = new Scanner(System.in);     int size = sc.nextInt();     int[] userArray = new int[size];      for (int i = 0; i != size; i++) {         System.out.println("Please enter the number for your array[" + (i+1) + "]: ");         int temp = sc.nextInt();         userArray[i] = temp;      }      RangeFinder.range(userArray);      System.out.println();     System.out.println(Arrays.toString(userArray));     System.out.println(RangeFinder.range(userArray));   }    public static int range(int[] array) {       int[] testArray = array;      Arrays.sort(testArray);      int smallest = testArray[0];      int largest = testArray[array.length];      int range = largest - smallest;       return range;   } 

}`

===============>>#1 票数:1 已采纳

这是在数组范围之外进行选择:

int largest = testArray[array.length]; 

例如,如果数组的长度为10则索引为09 尝试选择项目testArray[10]是错误。 您要从长度中减去1以获得最后一个元素:

int largest = testArray[array.length - 1]; 

  ask by X22431637 translate from so

本文未有回复,本站智能推荐: