2D fooar上的Google foobar arrayIndexOutOfBounds异常

时间:2017-07-12 02:39:38

标签: java exception indexoutofboundsexception breadth-first-search google-foobar

我的代码在eclipse中工作得非常好但在foobar控制台上抛出了愚蠢的例外... (它的第3级:prepare_the_bunnies_escape挑战)

 public static int answer(int[][] mazearr) {
        arrLen = mazearr.length;
        int count=0;

        int shortestPathLen = calShortestPath(mazearr);
        int pathLen;

        //This is the part which throws arrayIndexOutOfBoundsExcepiton
       //--------------------------------------
          for (int i1 = 0; i1 < arrLen; i1++) 
            for (int j1 = 0; j1 < arrLen; j1++)
                if(mazearr[i1][j1]==5)
                    mazearr[i1][j1]=0;
        //----------------------------------------

for (int i = 0; i < arrLen; i++) {
            for (int j = 0; j < arrLen; j++) {
                if(mazearr[i][j] == 1 && isRemovable(i,j, mazearr) && 
count<=5)
                {
                    count++;
                    mazearr[i][j]=0;
                    pathLen = calShortestPath(mazearr);         
                    shortestPathLen = (pathLen<shortestPathLen)?
pathLen:shortestPathLen;

                    mazearr[i][j]=1;

                     for (int i1 = 0; i1 < arrLen; i1++) 
                        for (int j1 = 0; j1 < arrLen; j1++)
                            if(mazearr[i1][j1]==5)
                                mazearr[i1][j1]=0;

                }
            }         
        }
        return shortestPathLen;
    }

我想我错过了一些非常明显的事情......我做错了什么? 测试用例正在我的系统上运行,请以任何可能的方式帮助我。

1 个答案:

答案 0 :(得分:0)

我在这里弄错了... 输入始终不是方阵。 我错误地认为这是因为它没有在问题陈述中指定。

 for (int i1 = 0; i1 < arr.length ; i1++) 
                for (int j1 = 0; j1 < arr[0].length ; j1++)
                {   if(arr[i1][j1]==5)
                {       arr[i1][j1]=0;}}