** 在排序数组中插入一个元素的程序 **
import java.util.*;
public class insertion {
public static void insertElement(int[] arr, int element) {
int i;
for (i = arr.length; i >= 0 && arr[i] > element; i--) {
arr[i + 1] = arr[i];
}
arr[i + 1] = element;
}
public static void arrayElements(int[] arr, int limit){
int i;
System.out.print("The array elements are: ");
for (i=0; i<limit; i++){
System.out.print(arr[i]+" ");
}
}
public static int element(){
int element;
Scanner sc = new Scanner(System.in);
System.out.print("Enter the element to be inserted: ");
element = sc.nextInt();
return element;
}
public static void main(String[] args) {
int i,item, limit;
int[] arr = new int[10];
Scanner sc = new Scanner(System.in);
System.out.print("Enter the limit: ");
limit = sc.nextInt();
System.out.print("Enter the array elements: ");
for (i=0;i < limit; i++){
arr[i] = sc.nextInt();
}
System.out.println();
arrayElements(arr, limit);
System.out.println();
item = element();
System.out.println();
insertElement(arr, item);
System.out.println();
arrayElements(arr, limit);
}
}
当我运行这个程序时,最后在 insertElement() 函数的执行过程中我得到了这个错误,如下所示。
*输入限制:5 输入数组元素:1 2 3 4 5 6
数组元素为:1 2 3 4 5 输入要插入的元素:5
线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException:索引 10 超出范围,长度为 10 在 insertion.insertElement(insertion.java:6) 在 insertion.main(insertion.java:54)*
输入限制:5 输入数组元素:1 2 4 5 6
数组元素为:1 2 4 5 6 输入要插入的元素:3
线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException:索引 10 超出范围,长度为 10 在 insertion.insertElement(insertion.java:6) 在 insertion.main(insertion.java:54)
我需要输出是每个人对这段代码的期望,wiz,1 2 3 4 5 6