嗨,我在做作业,我正在做一个井字游戏。我根据老师的指示使用记事本,我在一个记事本上做了两节课,一节TicTacToe名称的主课或第二个游戏板。netbeans中的一切都很好,但当我在notepad中实现并通过cmd执行时,就会出现错误
TicTacToe.java:16:错误:类GameBoard是公共的,应该在名为GameBoard.java的文件中声明`
`
public class GameBoard {
private char[][] gameBoard;
public GameBoard()
{ gameBoard= new char[3][3];
for(int row=0; row<gameBoard.length; row++)
{
java.util.Arrays.fill(gameBoard[row], ' ' );
}
}
public void displayBoard()
{
for(int row=0; row<gameBoard.length; row++)
{
for(int col=0; col<gameBoard.length ; col++)
{
System.out.print("t" + gameBoard[row][col]);
if(col==0 || col==1)
System.out.print("|");
}
System.out.print("n---------------------------n");
}
}
}
这是我的代码
在一个Java文件中只能有一个public
类,并且Java文件的名称必须与其中public
类的名称相匹配
选项1-将GameBoard
类拉入一个新文件,并将文件命名为GameBoard.java
。这意味着您还需要更改文件的扩展名。除非要添加import
语句,否则请确保这些文件位于同一文件夹中。
选项2-删除GameBoard
类的修饰符(public
((默认为包专用(
选项3-将GameBoard
类嵌套在TicTacToe类中(如果需要,您仍然可以更改/删除修饰符;通常不建议使用public
嵌套类(
不能在一个文件中声明两个公共类(除非它们是嵌套的(。现在,您已经在同一个.java文件中定义了TicTacToe
和GameBoard
。
阅读本教程关于类声明
每个文件只允许有一个公共类(TicTacToe.java(,所以你需要重命名它。你可以制作另一个不带访问修饰符的类:
public class TicTacToe {
public static void main(String[] args) {
GameBoard board=new GameBoard();
board.displayBoard();
}
}
class GameBoard {
private char[][] gameBoard;
public GameBoard() {
gameBoard = new char[3][3];
for (int row = 0; row < gameBoard.length; row++) {
java.util.Arrays.fill(gameBoard[row], ' ');
}
}
public void displayBoard() {
for (int row = 0; row < gameBoard.length; row++) {
for (int col = 0; col < gameBoard.length; col++) {
System.out.print("t" + gameBoard[row][col]);
if (col == 0 || col == 1)
System.out.print("|");
}
System.out.print("n---------------------------n");
}
}
}