Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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“;_Java_Arrays_Loops - Fatal编程技术网

我有一个例外的问题;java.lang.ArrayIndexOutOfBoundsException“;

我有一个例外的问题;java.lang.ArrayIndexOutOfBoundsException“;,java,arrays,loops,Java,Arrays,Loops,我遇到异常“java.lang.ArrayIndexOutOfBoundsException”的问题 我编写了一个程序,它有48个长度的src数组,然后使用arrayCopy方法处理它,将每6个索引带到另一个数组,并打印每个dst数组 对我来说,它工作得很好,它从初始数组中打印出每6个索引,但最后我得到了一个异常帮助。该算法只是一个测试,因为我想在另一个算法中使用arrayCopy,所以我不需要修改算法的建议。我希望这足够清楚和公平 public static void main(Strin

我遇到异常“java.lang.ArrayIndexOutOfBoundsException”的问题 我编写了一个程序,它有48个长度的src数组,然后使用arrayCopy方法处理它,将每6个索引带到另一个数组,并打印每个dst数组 对我来说,它工作得很好,它从初始数组中打印出每6个索引,但最后我得到了一个异常帮助。该算法只是一个测试,因为我想在另一个算法中使用arrayCopy,所以我不需要修改算法的建议。我希望这足够清楚和公平

  public static void main(String [] arg) 
        {   
            int[] src = new int[48];
            for(int j=0;j<src.length;j++)
            {
                src[j]=j+1;
                System.out.print(src[j]+" ");
            }   
            System.out.println();
            int[] dst = new int[6]; 
            int from=0;
            for(int i=0;i<src.length;i++)
            {
                System.arraycopy(src, from, dst, 0, 6); // Copies 6 indexes from src starting at from into dst
                from=from+6;
                print(dst); 
                System.out.println();
            }



            } 

        public static void print(int [] dst)
        {
            for(int i=0;i<dst.length;i++)
                System.out.print(dst[i]+" ");   
        }
publicstaticvoidmain(字符串[]arg)
{   
int[]src=新int[48];
对于(int j=0;j试试这个:

for(int i=0;i<src.length;i+=6)  // increment i by value 6
试试这个:

for(int i=0;i<src.length;i+=6)  // increment i by value 6

您编写它的方式,在循环的最后一次迭代中,从+5=53开始,大于47(因此超出源代码的范围)。

您编写它的方式,在循环的最后一次迭代中,从+5=53开始,大于47(因此超出源代码的范围).

你能准确地指出引发异常的行吗?你能准确地指出引发异常的行吗?是的,我想这看起来像解决方案。谢谢你,它工作了,就像你的答案和(星*无限)是的,我想这看起来像解决方案。谢谢你,它工作了,就像你的答案和(星*无限)