Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tic tac toe中没有输出? 目前在java的TC TAB趾中做一个学校项目,感觉代码是固有的,但是当我尝试输出它时,它不会打印函数并一直指示一个赢家,而且打印功能本身在分配给它时不输出空白、交叉或零。任何帮助都将不胜感激 public static void printBoard(char[][] board) { for(int i=0;i<NUMBER_OF_ROWS;i++) { System.out.println(); for(int j=0;j<NUMBER_OF_COLUMNS;j++) { if(j==0) { System.out.print("| "); } System.out.print(board[i][j] + " | "); } } } public static boolean isBoardFull(char[][] board) { for(int i=0;i>NUMBER_OF_ROWS;i++) { for(int j=0;j>NUMBER_OF_COLUMNS;j++) { if(board[i][j]==BLANK) { return false; } } } return true; } public static char winner( char[][] board) { char winner = BLANK; for( int row = 0; row < board.length; row++) { if( board[row][0] == board[row][1] && board[row][1] == board[row][2]) { winner = board[row][0]; } } for( int column = 0; column < board.length; column++) { if(board[0][column] == board[1][column] && board[1][column] == board[2][column]) { winner = board[0][column]; } } if( board[0][0] == board[1][1] && board[1][1] == board[2][2]) { winner = board[0][0]; } if( board[0][2] == board[1][1] && board[1][1] == board[2][0]) { winner = board[0][2]; } return winner; } public static void main(String[] args) { // TODO Auto-generated method stub boolean finished = false; char[][] board = new char[NUMBER_OF_ROWS][NUMBER_OF_COLUMNS]; clearBoard(board); int playerNumber = 1; System.out.println("Player 1:Noughts\nPlayer 2: Crosses"); while(!finished) { if(isBoardFull(board)) { finished = true; if(winner(board)==BLANK) { System.out.print("The match is a draw "); } else { System.out.print("The winner is" + (winner(board)==CROSS?" Player 1":" Player 2")); } } System.out.println("Enter place on board you wish to make a move for " + (playerNumber%2!=0?"Player 1":"Player 2") + "(row,column): "); Scanner input = new Scanner(System.in); input.useDelimiter(","); int row = input.nextInt() - 1; int column = input.nextInt() - 1; if(!canMakeMove(board,row,column)) { System.out.print("Cannot make move, please enter " + "coordinates within range and not previously entered"); } else { makeMove(board, row, column, playerNumber); printBoard(board); playerNumber++; if(winner(board) != BLANK) { System.out.println("The winner is" + (winner(board)==CROSS?" Player 1":" Player 2")); finished = true; } } } } publicstaticvoid打印板(char[]]board) { for(int i=0;i列的数量;j++) { 如果(板[i][j]==空白) { 返回false; } } } 返回true; } 公共静态字符赢家(字符[][]板) { char winner=空白; 对于(int row=0;row列数条件是错误的,应该是其他方式。 因此,在isBoardFull方法中,它将始终返回trueie board is full_Java_Tic Tac Toe - Fatal编程技术网

tic tac toe中没有输出? 目前在java的TC TAB趾中做一个学校项目,感觉代码是固有的,但是当我尝试输出它时,它不会打印函数并一直指示一个赢家,而且打印功能本身在分配给它时不输出空白、交叉或零。任何帮助都将不胜感激 public static void printBoard(char[][] board) { for(int i=0;i<NUMBER_OF_ROWS;i++) { System.out.println(); for(int j=0;j<NUMBER_OF_COLUMNS;j++) { if(j==0) { System.out.print("| "); } System.out.print(board[i][j] + " | "); } } } public static boolean isBoardFull(char[][] board) { for(int i=0;i>NUMBER_OF_ROWS;i++) { for(int j=0;j>NUMBER_OF_COLUMNS;j++) { if(board[i][j]==BLANK) { return false; } } } return true; } public static char winner( char[][] board) { char winner = BLANK; for( int row = 0; row < board.length; row++) { if( board[row][0] == board[row][1] && board[row][1] == board[row][2]) { winner = board[row][0]; } } for( int column = 0; column < board.length; column++) { if(board[0][column] == board[1][column] && board[1][column] == board[2][column]) { winner = board[0][column]; } } if( board[0][0] == board[1][1] && board[1][1] == board[2][2]) { winner = board[0][0]; } if( board[0][2] == board[1][1] && board[1][1] == board[2][0]) { winner = board[0][2]; } return winner; } public static void main(String[] args) { // TODO Auto-generated method stub boolean finished = false; char[][] board = new char[NUMBER_OF_ROWS][NUMBER_OF_COLUMNS]; clearBoard(board); int playerNumber = 1; System.out.println("Player 1:Noughts\nPlayer 2: Crosses"); while(!finished) { if(isBoardFull(board)) { finished = true; if(winner(board)==BLANK) { System.out.print("The match is a draw "); } else { System.out.print("The winner is" + (winner(board)==CROSS?" Player 1":" Player 2")); } } System.out.println("Enter place on board you wish to make a move for " + (playerNumber%2!=0?"Player 1":"Player 2") + "(row,column): "); Scanner input = new Scanner(System.in); input.useDelimiter(","); int row = input.nextInt() - 1; int column = input.nextInt() - 1; if(!canMakeMove(board,row,column)) { System.out.print("Cannot make move, please enter " + "coordinates within range and not previously entered"); } else { makeMove(board, row, column, playerNumber); printBoard(board); playerNumber++; if(winner(board) != BLANK) { System.out.println("The winner is" + (winner(board)==CROSS?" Player 1":" Player 2")); finished = true; } } } } publicstaticvoid打印板(char[]]board) { for(int i=0;i列的数量;j++) { 如果(板[i][j]==空白) { 返回false; } } } 返回true; } 公共静态字符赢家(字符[][]板) { char winner=空白; 对于(int row=0;row列数条件是错误的,应该是其他方式。 因此,在isBoardFull方法中,它将始终返回trueie board is full

tic tac toe中没有输出? 目前在java的TC TAB趾中做一个学校项目,感觉代码是固有的,但是当我尝试输出它时,它不会打印函数并一直指示一个赢家,而且打印功能本身在分配给它时不输出空白、交叉或零。任何帮助都将不胜感激 public static void printBoard(char[][] board) { for(int i=0;i<NUMBER_OF_ROWS;i++) { System.out.println(); for(int j=0;j<NUMBER_OF_COLUMNS;j++) { if(j==0) { System.out.print("| "); } System.out.print(board[i][j] + " | "); } } } public static boolean isBoardFull(char[][] board) { for(int i=0;i>NUMBER_OF_ROWS;i++) { for(int j=0;j>NUMBER_OF_COLUMNS;j++) { if(board[i][j]==BLANK) { return false; } } } return true; } public static char winner( char[][] board) { char winner = BLANK; for( int row = 0; row < board.length; row++) { if( board[row][0] == board[row][1] && board[row][1] == board[row][2]) { winner = board[row][0]; } } for( int column = 0; column < board.length; column++) { if(board[0][column] == board[1][column] && board[1][column] == board[2][column]) { winner = board[0][column]; } } if( board[0][0] == board[1][1] && board[1][1] == board[2][2]) { winner = board[0][0]; } if( board[0][2] == board[1][1] && board[1][1] == board[2][0]) { winner = board[0][2]; } return winner; } public static void main(String[] args) { // TODO Auto-generated method stub boolean finished = false; char[][] board = new char[NUMBER_OF_ROWS][NUMBER_OF_COLUMNS]; clearBoard(board); int playerNumber = 1; System.out.println("Player 1:Noughts\nPlayer 2: Crosses"); while(!finished) { if(isBoardFull(board)) { finished = true; if(winner(board)==BLANK) { System.out.print("The match is a draw "); } else { System.out.print("The winner is" + (winner(board)==CROSS?" Player 1":" Player 2")); } } System.out.println("Enter place on board you wish to make a move for " + (playerNumber%2!=0?"Player 1":"Player 2") + "(row,column): "); Scanner input = new Scanner(System.in); input.useDelimiter(","); int row = input.nextInt() - 1; int column = input.nextInt() - 1; if(!canMakeMove(board,row,column)) { System.out.print("Cannot make move, please enter " + "coordinates within range and not previously entered"); } else { makeMove(board, row, column, playerNumber); printBoard(board); playerNumber++; if(winner(board) != BLANK) { System.out.println("The winner is" + (winner(board)==CROSS?" Player 1":" Player 2")); finished = true; } } } } publicstaticvoid打印板(char[]]board) { for(int i=0;i列的数量;j++) { 如果(板[i][j]==空白) { 返回false; } } } 返回true; } 公共静态字符赢家(字符[][]板) { char winner=空白; 对于(int row=0;row列数条件是错误的,应该是其他方式。 因此,在isBoardFull方法中,它将始终返回trueie board is full,java,tic-tac-toe,Java,Tic Tac Toe,在您的isBoardFull方法中i>行数和j>列数条件是错误的,应该是其他方式。 因此,在isBoardFull方法中,它将始终返回trueie board is full,i>行数和j>列数条件错误时,应采用其他方式。 因此,它将始终返回trueie board is full这看起来是错误的:for(int i=0;i>行数;i++)这看起来是错误的:for(int i=0;i>行数;i++)

在您的isBoardFull方法中
i>行数
j>列数
条件是错误的,应该是其他方式。
因此,在isBoardFull方法中,它将始终返回
true
ie board is full

i>行数
j>列数
条件错误时,应采用其他方式。 因此,它将始终返回
true
ie board is full

这看起来是错误的:
for(int i=0;i>行数;i++)
这看起来是错误的:
for(int i=0;i>行数;i++)