好的,我的家庭作业问题是康威的《生命游戏》。我不是最好的程序员,所以我在这方面遇到了麻烦。我们不必创建实际的动画;只需打印到控制台。
本题第一种方法是打印板子。
棋盘被表示为二维 boolean 数组:
boolean[][] board = new boolean[numberOfRows][numberOfColumns];
您的打印方法调用如下:
public static void printBoard(boolean[][] board)
该方法应该在单独的行上打印数组的每一行,其中“.”代表错误单元格,“*”代表正确单元格。
我知道 boolean 值意味着它要么为假,要么为真,但我不知道如何做到这一点。我应该使用 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 已在 printBoard(boolean[][]) 中定义
抱歉,如果问题不清楚。
最佳答案
基本上,您想要做的是迭代整个数组数组。您应该使用一个 for
循环来迭代 board
(或 foreach 循环),然后将另一个 for
循环嵌入到第一个循环中进行迭代在每个board
数组上。在此嵌入式循环中,您可以简单地执行类似 System.out.print(board[i][j] ? "*": ".")
的操作。在第一个 for 循环结束时,您将需要打印一个新行以获得矩形格式。
关于java - 如何用 Java 打印康威生命游戏的棋盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12447244/