Java 2D阵列搜索不起作用

时间:2015-07-05 06:57:02

标签: java arrays

该程序应该返回板上一块的位置。板被表示为2D阵列。循环只是循环遍历列,然后如果仍未找到该块,则转到下一行。但是,仅返回[-1,-1]数组(未找到任何部分)。我一直无法找到错误,所以任何帮助

public int[] pieceFinder(int piece) {

    int[][] board={{43,44,45,50,47,48,49},
                   {36,37,38,39,40,41,42},
                   {29,30,31,32,33,34,35},
                   {22,23,24,25,26,27,28},
                   {15,16,17,18,19,20,21},
                   {8,9,10,11,12,13,14},
                   {1,2,3,50,5,6,7}};    

    int row=0;  
    boolean found=false;
    int[] location={-1,-1} ;  

    for(int column=0;found==true;column++) {
        if(board[row][column]==piece) {
            found=true ;
            location[0]=row; 
            location[1]=column;
        }

        else if(column==6) {
            if(row==6) { 
                break;
            }

        else {
            row++;
        }
    } 
    return location;
}             

1 个答案:

答案 0 :(得分:4)

boolean found=false;
for(int column=0;found==true;column++){

你可以看到发现是假的。并为循环检查找到的真值。它永远不会进入循环。这就是为什么地点按原样返回的原因。