Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
';java.lang.ArrayIndexOutOfBoundsException:长度为10'的索引10超出范围;错误_Java_Arrays - Fatal编程技术网

';java.lang.ArrayIndexOutOfBoundsException:长度为10'的索引10超出范围;错误

';java.lang.ArrayIndexOutOfBoundsException:长度为10'的索引10超出范围;错误,java,arrays,Java,Arrays,上面的代码用于在数组中插入元素。我试着改变了头发的长度 将数组设置为9,但问题仍然存在 public class Array1 { public static int[] insertX (int n,int x,int pos,int arr[]) { int newarr[] = new int[n+1]; for(int i=0; i<i+1;i++) { if(i < pos -1

上面的代码用于在数组中插入元素。我试着改变了头发的长度 将数组设置为9,但问题仍然存在

public class Array1 {
    public static int[] insertX (int n,int x,int pos,int arr[]) {
        
        int newarr[] = new int[n+1];
      
        for(int i=0; i<i+1;i++) {
            if(i < pos -1) {
                newarr[i]=arr[i];
            }
            else if(i==pos-1) {
                newarr[i]=x;
            }
            else
            {
                newarr[i]= arr[i-1];
            }
            
        }
        return newarr;
        
        
    }
    public static void main(String[] args) {
        
        int n=10;
        int arr[] = {1,2,3,4,5,6,7,8,9,10}; 
        System.out.println("Initial array"+ " " + Arrays.toString(arr));
        int x=50;
        int pos =5;
        arr = insertX(n,x,pos,arr);
        System.out.println("Array with inserted number"+ " " + Arrays.toString(arr));
    }

}

 
公共类数组1{
公共静态int[]插入x(int n,int x,int pos,int arr[]){
int newarr[]=新int[n+1];

对于(int i=0;i您需要更改循环结束条件:

for(int i=0; i<newarr.length;i++) 

for(int i=0;i
i实际上,如果不是因为抛出的异常,循环将在
i
达到最大
int
值时停止。它可能会说
i
或诸如此类。明白了。将根据您的答案进行更改。