繁体   English   中英

Java 2D阵列搜索不起作用

[英]Java 2D Array Search Not Working

该程序应该返回一块在板上的位置,该板被表示为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;
}             
boolean found=false;
for(int column=0;found==true;column++){

如您所见,发现是错误的。 并且for循环检查是否找到了真值。 它永远不会进入循环。 这就是为什么按原样返回位置的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM