java - 在 Java 中缩短数组

标签 java arrays

我的部分代码中有这个。

public void drawBoard(){
    for (int i = 0; i < 8; i++){
        for (int j = 0; j < 8; j++){
            board[i][j] = null;
        }
    }

    board[0][1] = new Piece(false);
    board[1][1] = new Piece(false);
    board[2][1] = new Piece(false);
    board[3][1] = new Piece(false);
    board[4][1] = new Piece(false);
    board[5][1] = new Piece(false);
    board[6][1] = new Piece(false);
    board[7][1] = new Piece(false);
}

除了一个一个声明每个元素的位置之外,还有什么方法可以缩短它吗?

最佳答案

public void drawBoard(){
    for (int i = 0; i < 8; i++){
        for (int j = 0; j < 8; j++){
            board[i][j] = null;

        }
        board[i][1] = new Piece(false);
    }
}

对于踢球,如果您使用一维数组表示 8x8 板,您可以用这种方式做同样的事情,消除循环。

public void drawBoard() {
    int j = -1;
    for (int i = 0; i < 64; i++) {
        // j represents your "column"
        // every 8 counts, a new column is found
        if ( i % 8 == 0 ) {
            j++;
        }

        // for the '1' column, set your piece, else null
        board[i] = ( j == 1) ? new Piece(false) : null;
    }
}

关于java - 在 Java 中缩短数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29479582/

相关文章:

java - 反转字符串。每隔一个字倒转

ruby - 为什么在带有 block 的数组上调用 zip 总是返回 nil

python - 如何将灰度 matplotlib 图保存到 numpy 数组

javascript - 当已经选择了数组中的 DOM 元素时,如何防止 javascript 函数运行?

javascript - 为什么我的 reduce 累加器会重置?

java - 在同一函数内多次调用数据库时关闭 JDBC 连接

java - 使用bean引用从spring xml配置迁移到@Configuration(servlet 3.0)会导致BeanNotOfRequiredTypeException

java - 显示不同数组类型的值

java - 如何使用 Java 运行带有通配符的 unix/shell 命令?

java - 平衡二叉树与不平衡二叉树 - 需要澄清