1

好的,所以我的作业问题是关于康威的生命游戏。我不是最好的程序员,所以我遇到了这个问题。我们不必创建实际的动画;只需打印到控制台。

问题的第一种方法是打印板。

棋盘表示为二维布尔数组:

boolean[][] board = new boolean[numberOfRows][numberOfColumns];

您的打印方法调用如下:

public static void printBoard(boolean[][] board)

该方法应使用“。”将数组的每一行打印在单独的行上。代表假单元格和代表真的“*”。

我知道布尔值意味着它要么是假的要么是真的,但我不知道该怎么做。我应该使用while循环吗?

public static void printBoard(boolean[][] board) {
   boolean[][] board = new boolean[numberOfRows][numberOfColumns];

  int i = 0;
  int j = 0;

   while (i < numberofColumns) {
        System.out.print(".");
        i++;
    }

    >while (i < numberofColumns) {
        System.out.print("*");
        j++;

    }

    System.out.println(); }

这就是我现在所拥有的。我什至接近吗?我收到错误消息'board is already defined in printBoard(boolean[][])

抱歉,如果问题不清楚。

4

1 回答 1

2

基本上你想要做的是遍历整个数组数组。您应该使用一个for循环来迭代board(或一个 foreach 循环),然后for在第一个循环中嵌入另一个循环来迭代每个board. 在这个嵌入式循环中,您可以简单地执行类似System.out.print(board[i][j] ? "*" : "."). 在第一个 for 循环结束时,您将需要打印一个新行以获得矩形格式。

于 2012-09-16T13:54:16.180 回答