Java Tictaoe游戏,没有输出
在这段代码中,我想创建一个3x3棋盘游戏,但屏幕上没有显示任何内容..(代码编译正确,但不显示输出) 我认为问题出在Java Tictaoe游戏,没有输出,java,Java,在这段代码中,我想创建一个3x3棋盘游戏,但屏幕上没有显示任何内容..(代码编译正确,但不显示输出) 我认为问题出在主方法中。。。想不出来。。。请帮忙 package games; import games.board.*; public class BoardGameTester { /** * @param args */ private static Board gb; public static void main(String[] args) { // TODO Au
主方法中。。。想不出来。。。请帮忙
package games;
import games.board.*;
public class BoardGameTester {
/**
* @param args
*/
private static Board gb;
public static void main(String[] args) {
// TODO Auto-generated method stub
gb = new Board(3, 3);
}
}
这是一个board.java:
package games.board;
public class Board {
private Cell[][] cells;
public Board(int rows, int columns) {
cells = new Cell[rows][columns];
for( int r = 0; r < cells[0].length; r++ ) {
for (int c = 0; c < cells[1].length; c++) {
cells[r][c] = new Cell(r,c);
}
}
}
public void setCell(Mark mark, int row, int column) throws
IllegalArgumentException {
if (cells[row][column].getContent() == Mark.EMPTY)
cells[row][column].setContent(mark);
else throw new IllegalArgumentException("Player already there!");
}
public Cell getCell(int row, int column) {
return cells[row][column];
}
public String toString() {
StringBuilder str = new StringBuilder();
for( int r = 0; r < cells.length; r++ ) {
str.append("|");
for (int c = 0; c < cells[r].length; c++) {
switch(cells[r][c].getContent()) {
case NOUGHT:
str.append("O");
break;
case CROSS:
str.append("X");
break;
case YELLOW:
str.append("Y");
break;
case RED:
str.append("R");
break;
case BLUE:
str.append("B");
break;
case GREEN:
str.append("G");
break;
case MAGENTA:
str.append("M");
break;
case ORANGE:
str.append("M");
break;
default: //Empty
str.append("");
}
str.append("|");
}
str.append("\n");
}
return str.toString();
}
}
这里是mark.java
package games.board;
public enum Mark {
EMPTY, NOUGHT, CROSS, YELLOW, RED, BLUE, GREEN, MAGENTA, ORANGE
}
下面是output.java
package games.board;
public enum Outcome {
PLAYER1_WIN, PLAYER2_WIN, CONTINUE, TIE
}
这里是player.java
package games.board;
public enum Player {
FIRST,SECOND
}
试试这个:
public static void main(String[] args) {
// TODO Auto-generated method stub
gb = new Board(3, 3);
System.out.println(gb.toString());
}
您没有生成任何输出
要将电路板打印到控制台,请尝试:
public static void main(String[] args) {
// TODO Auto-generated method stub
gb = new Board(3, 3);
System.out.println(gb);
}
它将调用gb.toString()
methode
ps:如果您使用str.append(“\n”)
而不是str.append(“|”)
请格式化您的源代码-没有缩进很难阅读。您还应该告诉我们到目前为止您执行了哪些诊断步骤。您是否在调试器中运行了此功能?请在编译和运行时发布控制台输出,程序是否退出?代码中没有输出…您希望得到的确切输出是什么?我看到0个对println或任何其他输出函数的调用。这不是您的代码。@kevinsa5是的,谢谢您指出;)我把答案写得太快了。
public static void main(String[] args) {
// TODO Auto-generated method stub
gb = new Board(3, 3);
System.out.println(gb);
}