繁体   English   中英

如何在二维数组上向后添加元素

[英]How to add elements backwards on a 2D Array

public void drop(){

    int totalTurns = 0;
    while(totalTurns <= 7){
        System.out.println("What column would you like to drop a piece into?: ");
        Scanner scannerBoard = new Scanner(System.in);
        int columnInput = scannerBoard.nextInt();
        if(columnInput <= makeArray[0].length){
            makeArray[rows-1][columnInput-1] = 'x';

        }
        totalTurns = totalTurns + 1;
    }
    return;
}

我正在制作一个连接 4 项目,我正在尝试制作一种方法来添加一个“片”被放入板上。 第 8 行显示我将字符“x”添加到我输入的整数的最后一行和最后一列。 如果我输入 3,两次,我如何让第二个“部分”不是放在底行,而是放在上面的行?

您必须使用数组的任何特殊原因? 它可能是最容易使用的(Array)List代替。

例如,创建一个列表列表而不是“makeArray”(无论如何这是一个奇怪的名字):

static final int COLUMNS = 7;
List<List<Character>> board = new ArrayList<>();
for (int i = 0; i < COLUMNS; ++) {
   board.add(new ArrayList<Character>());
}

现在您可以将这些部分“添加”到正确列的末尾(或“顶部”)(也不要忘记检查输入的下限):

if (columnInput >= 1 && columnInput <= board.length) { // or columnInput <= COLUMNS
    board.get(columnInput-1).add('x');
}

暂无
暂无

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

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