我正在用面向对象的概念用java编写一个最终的tic-tac-toe,我正在尝试制作电路板并正确地打印出来。我做了一个bigboard类,它有9个小板,每个小板由9个盒子组成,每个盒子都有一个索引。当我试着打印的时候,我得到了这个。
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
而不是这个
| 0 | 1 | 2 | | 0 | 1 | 2 | | 0 | 1 | 2 |
| 3 | 4 | 5 | | 3 | 4 | 5 | | 3 | 4 | 5 |
| 6 | 7 | 8 | | 6 | 7 | 8 | | 6 | 7 | 8 |
| 0 | 1 | 2 | | 0 | 1 | 2 | | 0 | 1 | 2 |
| 3 | 4 | 5 | | 3 | 4 | 5 | | 3 | 4 | 5 |
| 6 | 7 | 8 | | 6 | 7 | 8 | | 6 | 7 | 8 |
| 0 | 1 | 2 | | 0 | 1 | 2 | | 0 | 1 | 2 |
| 3 | 4 | 5 | | 3 | 4 | 5 | | 3 | 4 | 5 |
| 6 | 7 | 8 | | 6 | 7 | 8 | | 6 | 7 | 8 |
大板类打印方法
void print () {
System.out.println("printing the " + this.name + " info....");
for (int i = 0; i < boards.length; i++) {
if (i!=0 && i%boardColSize == 0)
System.out.println();
boards [i].print();
}
System.out.println("");
}
}
小板类打印方法
void print () {
for (int i = 0; i < boxes.length; i++) {
if (i!=0 && i%boardColSize == 0)
System.out.println();
boxes [i].print();
}
System.out.println("");
盒类打印方法
void print() {
if (Integer.valueOf(placeHolder) == 2 || Integer.valueOf(placeHolder) == 5 || Integer.valueOf(placeHolder) == 8)
System.out.print("| "+placeHolder + " |");
else
System.out.print("| "+ placeHolder + " ");
}
}
如何将小板格式化为3x3网格?
1条答案
按热度按时间hfsqlsce1#
您的small board print在方法末尾有一个println()调用,这意味着每个small board始终打印在新行上。为了得到你想要的输出,你需要能够一次打印一行你的小板。例如。
打印小板0行0
打印小板1第0行
打印小板2第0行
打印换行符
打印小板0第1行
...