java:97:错误不是声明

时间:2015-09-23 08:35:57

标签: java

我正在制作Tic Tac Toe游戏。我现在坚持如何检查胜利者 我的checkwinner方法得到“java:97:error not a statement” checkwinner应该停止比赛并宣布获胜者 我的代码中的错误在哪里?

 import java.util.Scanner;
    public class TicTac{
      private static  char [][] board = new char [3][3];
      private static char playerX = 'X';
      private static char playerO = 'O';
      private static  Scanner keyboard = new Scanner(System.in);
      private static char invalitplay = 0;
      private static boolean playerTurn = true;

        public static void main(String[]   args){
          runing();

      }
      public static void runing(){
        showBoard();
        currentPlayer();
        gameEnd ();
      }

    public void menu(){
    System.out.println("welcome to TIC TAC TOE ");
    System.out.println("would you like to play? (Y/N)");
      }

    // rita upp brädet
    public static void showBoard(){
      for(int i = 0; i < board.length; i++) {
        for(int j = 0; j < board[i].length; j++) {
          System.out.print( "[ " + board[i][j] + " ]" + "\t");
        }
        System.out.println("\n");
        }
      }
      //ta bort allt värde i arry / starta om spelet
    public static void clearBoard(){
      for(int i = 0; i < board.length; i++) {
        for(int j = 0; j < board[i].length; j++) {
           board[i][j] = 0;

         }
      }
    }
    public static void currentPlayer(){
        for (int turn = 0; turn < 9; turn++ ){

          if(playerTurn){
            playerWithX();
            playerTurn= false;
            }
            else{
              playerWithO();
          playerTurn = true;
          }

      }
        System.out.println("DRAW");

      }
    public static void playerWithO(){

      System.out.println(" Player O :Enter a row: ");
      int row = keyboard.nextInt()-1;

      System.out.println(" Player O :Enter a column: ");
      int col = keyboard.nextInt()-1;
      board[row][col] = playerO;
      showBoard();
     // booleanen = true;
      }
    public static void playerWithX(){

      System.out.println("Player X: Enter a row: ");
      int row = keyboard.nextInt()-1;

      System.out.println("Player X:Enter a column: ");
      int col = keyboard.nextInt()-1;
      board[row][col] = playerX;
      showBoard();
      //booleanen = false;

    }
      // kolla vem tur det är genom att börja med player X som start
    public static void checkwinner(){
      if (board[0][0] == playerX && board[0][1] == playerX && board[0][2] == playerX || /* första raden*/
          board[1][0] == playerX && board[1][1] == playerX && board[1][2] == playerX || /* andra raden*/
          board[2][0] == playerX && board[2][1] == playerX && board[2][2] == playerX || /* tredje raden*/
          board[0][0] == playerX && board[1][0] == playerX && board[2][0] == playerX || /*  första colum*/
          board[0][1] == playerX && board[1][1] == playerX && board[2][1] == playerX || /* andra colum*/
          board[0][2] == playerX && board[1][2] == playerX && board[2][2] == playerX || /* tredje colum*/
          board[0][0] == playerX && board[1][1] == playerX && board[2][2] == playerX || /* snea vänster till höger*/
          board[2][0] == playerX && board[1][1] == playerX && board[0][2] == playerX){ /*snea höger till vänster*/
  System.out.println("Player X has won");
          gameEnd();

        }else{

           (board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/
            board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/
            board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/
            board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /*  första colum*/
            board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/
            board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/
            board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/
            board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO); /* snea höger till vänster*/
  System.out.println("Player O has won");
            gameEnd();
        }
      }

    public static void gameEnd (){
      System.out.println("Wanna play again?");
      String answer ="yes";
      answer = keyboard.nextLine();

      while(answer.equals("yes")){
        clearBoard();

        }
      }
    }

2 个答案:

答案 0 :(得分:0)

您应该通过

更改您的功能cheakwinner
public static void cheakwinner(){
  if (board[0][0] == playerX && board[0][1] == playerX && board[0][2] == playerX || /* första raden*/
      board[1][0] == playerX && board[1][1] == playerX && board[1][2] == playerX || /* andra raden*/
      board[2][0] == playerX && board[2][1] == playerX && board[2][2] == playerX || /* tredje raden*/
      board[0][0] == playerX && board[1][0] == playerX && board[2][0] == playerX || /*  första colum*/
      board[0][1] == playerX && board[1][1] == playerX && board[2][1] == playerX || /* andra colum*/
      board[0][2] == playerX && board[1][2] == playerX && board[2][2] == playerX || /* tredje colum*/
      board[0][0] == playerX && board[1][1] == playerX && board[2][2] == playerX || /* snea vänster till höger*/
      board[2][0] == playerX && board[1][1] == playerX && board[0][2] == playerX){ /*snea höger till vänster*/
        System.out.println("Player X has won");
        gameEnd();

    }else if (board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/
              board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/
              board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/
              board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /*  första colum*/
              board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/
              board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/
              board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/
              board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO) { /* snea höger till vänster*/
                System.out.println("Player O has won");
                gameEnd();
    }
  }

答案 1 :(得分:0)

您的else-if语句缺少if

而不是:

}else{
   (board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/
    board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/
    board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/
    board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /*  första colum*/
    board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/
    board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/
    board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/
    board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO); /* snea höger till vänster*/
        System.out.println("Player O has won");
        gameEnd();
    }

尝试:

} else if(board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/
        board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/
        board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/
        board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /*  första colum*/
        board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/
        board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/
        board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/
        board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO) { /* snea höger till vänster*/
    System.out.println("Player O has won");
    gameEnd();
}