java - 检查二维数组列是否已满

标签 java arrays multidimensional-array

我正在开发一个游戏类项目,但遇到了困难。

我一直在寻找如何检查二维数组中的任何列是否已满,如果是,则该列被完全清除。

我对Java非常陌生,所以如果你可以的话请帮我解决这个问题!

这是我到目前为止的代码。

//removes filled columns - added method
private boolean removeFullCol()
{
    for(int i = 0; i < board.length; i++){
        for(int j = 0; j < board[i].length; j++){
            if(board[i][j] != occupied){
                return false;
            }
        }
    }
    //empty square was never found - column is full
    return true;
}

最佳答案

如果您只想删除完整的列,请按列进行检查,但是如果您想检查所有列,则无法返回 boolean 值。您有 2 个选择:

  • 检查给定列(返回 boolean 值)
  • 返回第一列已满(返回 int)

第一个选项:

private boolean removeFullCol(int col)
    for (int row=0; row<board[col].length; row++) {
        // check if all are filled not sure which object is inside board...
        if(board[row][col] == null){
            return false;
        }
    }
    return true;
}

第二个选项(返回第一列完整或数据,否则返回 -1):

private int removeFullCol()
    for (int row=0; row<board[col].length; row++) {
        int filled = 0;
        for (int row=0; row<board[col].length; row++) {
            // check if all are filled not sure which object is inside board...
            if(board[row][col] != null){
                filled ++;
            }
        }

        // when finished check how many rows are filled
        if (board[col].length == filled)
            return row;

    }
    return -1;
}

即时编写了代码...如果有任何错误或疑问,请告诉我...

关于java - 检查二维数组列是否已满,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30440507/

相关文章:

c - C中的二维数组初始化

java - 如何使用另一个列表中的对象的属性创建一个新列表

java - 在 Java/JSP 中处理西类牙字符

java - 我可以在不暴露RMI端口本身的情况下将VisualVM连接到Docker中的远程Java进程吗?

java - 我在 eclipse 中为 spring mvc web 应用程序选择什么项目类型?

javascript - JSON 到 XML 使用 Javascript

arrays - 字典中数组中的 Swift 字典

c#序列化和json

c - c 中多维数组的指针

javascript - 二维 Javascript 数组