0

Hi I've been working on a homework assignment to make a 3D tic tac toe game without a GUI in Java. I can't get my check for a winner method to run. I've tried a bunch of different formats but I always get an error:

method checkForWinner in class TicTacToe3D cannot be applied to given types;

Here is my code:

    // Java 2 Assignment 1 Tic Tac Toe 3D
    // Make a 3D tic tac toe game for two players with no GUI
    // Check if there is a winner, loser, continue playing, or draw (no more       

    moves left on board)
    import java.util.Scanner;

    public class TicTacToe3D
    {
    String [][][]board = new String [3][3][3]; //3 dimensional array for tic         

   tac toe board
final static String WIN = "Player 1 has won the game!";
final static String WIN2 = "Player 2 has won the game!";
final static String DRAW = "There are no moves left. It is a draw.";
//final static boolean CONTINUE  = true; 
final static String CONTINUE = "Next player.";
boolean gameOver = false;
static int player = 0;
// constructor to initialize array and playersChoice
public TicTacToe3D()
{
    initializeBoard();
} // end constructor

// Create new board
public void initializeBoard()
{
    int i, j, k;
    // loop through array rows
    for ( i = 0; i < 3; i++)
    {
        // loop thourgh array columns
        for ( j = 0; j < 3; j++)
        {
            // loop through array diagonally
            for ( k = 0; k < 3; k++)
            {
                board[i][j][k] = " ";
            } // end inner for loop
        } // end for loop
    } // end outer for loop
} // end method initialieBoard

// print tic tac toe board
public void printBoard() 
{
    // first board
    System.out.println("Top Board");
    System.out.println("  1   2   3");
    System.out.println("1" + board[0][0][0] + "  | " + board[0][0][1] + " | " + board[0][0][2]);  
    System.out.println("---+----+---");
    System.out.println("2" + board[0][1][0] + "  | " + board[0][1][1] + " | " + board[0][1][2]);  
    System.out.println("---+----+---");
    System.out.println("3" + board[0][2][0] + "  | " + board[0][2][1] + " | " + board[0][2][2]);  
    System.out.println();

    //second board
    System.out.println("Middle Board");
    System.out.println("  1   2   3");
    System.out.println("1" + board[1][0][0] + "  | " + board[1][0][1] + " | " + board[1][0][2]);  
    System.out.println("---+----+---");
    System.out.println("2" + board[1][1][0] + "  | " + board[1][1][1] + " | " + board[1][1][2]);  
    System.out.println("---+----+---");
    System.out.println("3" + board[1][2][0] + "  | " + board[1][2][1] + " | " + board[1][2][2]);  
    System.out.println();

    // third board
    System.out.println("Bottom Board");
    System.out.println("  1   2   3");
    System.out.println("1" + board[2][0][0] + "  | " + board[2][0][1] + " | " + board[2][0][2]);  
    System.out.println("---+----+---");
    System.out.println("2" + board[2][1][0] + "  | " + board[2][1][1] + " | " + board[2][1][2]);  
    System.out.println("---+----+---");
    System.out.println("3" + board[2][2][0] + "  | " + board[2][2][1] + " | " + board[2][2][2]);    
    System.out.println();

} // end method printBoard

// method to make a move
public void makeAMove()
{
    Scanner input = new Scanner( System.in );
    int row = 0, column = 0, pla = 0;
    char piece;
    int pieceX = 0;
    int pieceO = 0;

    System.out.printf("Enter 1 for player 1 or 2 for player 2.: ", player);
    player = input.nextInt();

//  while( != gameOver)
//  {
        if (player == 1) 
        {
            System.out.println("Player 1 enter board number (0-2): ");
            pla = input.nextInt();
            if ( (pla >= 0) || (pla <= 2))
            {
                System.out.println("Player 1 enter row number (0-2): ");
                row = input.nextInt();  

                if ( (row >= 0) || (row <= 2))
                {
                    System.out.println("Player 1 enter column number (0-2): ");
                    column = input.nextInt();   
                } 

                else if ( ( pla < 0 ) || ( pla > 2))
                {
                    System.out.println(" Please only enter a number between 0 and 2 for a board number." );
                    pla = input.nextInt();  
                }

                else if ( ( row < 0 ) || ( row > 2))
                {
                    System.out.println(" Please only enter a number between 0 and 2 for a row number." );
                    row = input.nextInt();  
                }

                else if ( ( column < 0 ) || ( column > 2))
                {
                    System.out.println(" Please only enter a number between 0 and 2 for a column number." );
                    column = input.nextInt();
                }

            //  piece = "X";
                board[pla][row][column] = "X";
                printBoard();
    //          checkForWinner();
            } // end if statement
        } // end if statement 


            else if (player == 2)
            {
                System.out.println("Player 2 enter board number (0-2): ");
                pla = input.nextInt();

                if ( (pla >= 0) || (pla <= 2))
                {
                    System.out.println("Player 2 enter row number (0-2): ");
                    row = input.nextInt();  
                }
                    else if  ( (row >= 0) || (row <= 2))
                    {
                        System.out.println("Player 2 enter column number (0-2): ");
                        column = input.nextInt();   
                    } 

                    else if ( ( pla < 0 ) || ( pla > 2))
                    {   
                        System.out.println(" Please only enter a number between 0 and 2 for a board number." );
                        pla = input.nextInt();  
                    }

                    else if ( ( row < 0 ) || ( row > 2))
                    {
                        System.out.println(" Please only enter a number between 0 and 2 for a row number." );
                        row = input.nextInt();  
                    }

                    else if ( ( column < 0 ) || ( column > 2))
                    {
                        System.out.println(" Please only enter a number between 0 and 2 for a column number." );
                        column = input.nextInt();
                    }

                    board[pla][row][column] = "O";
                    printBoard();
        //          checkForWinner();   
                } // end else if statement
//      } // end while statement
        } // end method makeAMove

    public String checkForWinner( String[][][]board )
    {
        // check win for rows, columns, and diagonally

        // check diagonals going down left
        if ( board[0][0][0] == "X" && board[0][0][0] == board[0][1][1] && board[0][0][0] == board[0][2][2] )
        {
            return WIN;

        }
            else if ( board[0][0][0] == "O" && board[0][0][0] == board[0][1][1] && board[0][0][0] == board[0][2][2] )
            {
                return WIN2;
            }

        else if ( board[0][0][0] == "X" && board[0][0][0] == board[0][1][1] && board[0][0][0] == board[1][2][2] )
        {
            return WIN;

        }
            else if ( board[0][0][0] == "O" && board[0][0][0] == board[0][1][1] && board[0][0][0] == board[1][2][2] )
            {
                return WIN2;
            }

        else if ( board[0][0][0] == "X" && board[0][0][0] == board[0][1][1] && board[0][0][0] == board[2][2][2] )
        {
            return WIN;

        }
            else if ( board[0][0][0] == "O" && board[0][0][0] == board[0][1][1] && board[0][0][0] == board[2][2][2] )
            {
                return WIN2;
            }

        else if ( board[0][0][0] == "X" && board[0][0][0] == board[1][1][1] && board[0][0][0] == board[0][2][2] )
        {
            return WIN;

        }
            else if ( board[0][0][0] == "O" && board[0][0][0] == board[1][1][1] && board[0][0][0] == board[0][2][2] )
            {
                return WIN2;        
            }

        else if ( board[0][0][0] == "X" && board[0][0][0] == board[1][1][1] && board[0][0][0] == board[1][2][2] )
        {
            return WIN;
        }
            else if ( board[0][0][0] == "O" && board[0][0][0] == board[1][1][1] && board[0][0][0] == board[1][2][2] )
            {
                return WIN2;
            }

        else if ( board[0][0][0] == "X" && board[0][0][0] == board[1][1][1] && board[0][0][0] == board[2][2][2] )
        {
            return WIN;
        }
            else if ( board[0][0][0] == "O" && board[0][0][0] == board[1][1][1] && board[0][0][0] == board[2][2][2] )
            {
                return WIN2;
            }

        else if ( board[0][0][0] == "X" && board[0][0][0] == board[2][1][1] && board[0][0][0] == board[0][2][2] )
        {
            return WIN;
        }
            else if ( board[0][0][0] == "O" && board[0][0][0] == board[2][1][1] && board[0][0][0] == board[0][2][2] )
            {   
                return WIN2;    
            }

        else if ( board[0][0][0] == "X" && board[0][0][0] == board[2][1][1] && board[0][0][0] == board[1][2][2] )
        {
            return WIN;
        }
            else if ( board[0][0][0] == "O" && board[0][0][0] == board[2][1][1] && board[0][0][0] == board[1][2][2] )
            {
                return WIN2;
            }

        else if ( board[0][0][0] == "X" && board[0][0][0] == board[2][1][1] && board[0][0][0] == board[2][2][2] )
        {
            return WIN;
        }
            else if ( board[0][0][0] == "O" && board[0][0][0] == board[2][1][1] && board[0][0][0] == board[2][2][2] )
            {
                return WIN2;
            }

        else if ( board[1][0][0] == "X" && board[1][0][0] == board[0][1][1] && board[1][0][0] == board[0][2][2] )
        {
            return WIN;
        }
            else if ( board[1][0][0] == "O" && board[1][0][0] == board[0][1][1] && board[1][0][0] == board[0][2][2] )
            {
                return WIN2;
            }

        else if ( board[1][0][0] == "X" && board[1][0][0] == board[0][1][1] && board[1][0][0] == board[1][2][2] )
        {
            return WIN;
        }
            else if ( board[1][0][0] == "O" && board[1][0][0] == board[0][1][1] && board[1][0][0] == board[1][2][2] )
            {
                return WIN2;
            }

        else if ( board[1][0][0] == "X" && board[1][0][0] == board[0][1][1] && board[1][0][0] == board[2][2][2] )
        {
            return WIN;
        }
            else if ( board[1][0][0] == "O" && board[1][0][0] == board[0][1][1] && board[1][0][0] == board[2][2][2] )
            {
                return WIN2;
            }

        else if ( board[1][0][0] == "X" && board[1][0][0] == board[1][1][1] && board[1][0][0] == board[0][2][2] )
        {
            return WIN;
        }
            else if ( board[1][0][0] == "O" && board[1][0][0] == board[1][1][1] && board[1][0][0] == board[0][2][2] )
            {
                return WIN2;
            }

        else if ( board[1][0][0] == "X" && board[1][0][0] == board[1][1][1] && board[1][0][0] == board[1][2][2] )
        {
            return WIN;
        }
            else if ( board[1][0][0] == "O" && board[1][0][0] == board[1][1][1] && board[1][0][0] == board[1][2][2] )
            {
                return WIN2;
            }

        else if ( board[1][0][0] == "X" && board[1][0][0] == board[1][1][1] && board[1][0][0] == board[2][2][2] )
        {
            return WIN;
        }
            else if ( board[1][0][0] == "O" && board[1][0][0] == board[1][1][1] && board[1][0][0] == board[2][2][2] )
            {
                return WIN2;
            }

        else if ( board[1][0][0] == "X" && board[1][0][0] == board[2][1][1] && board[1][0][0] == board[0][2][2] )
        {
            return WIN;
        }
            else if ( board[1][0][0] == "O" && board[1][0][0] == board[2][1][1] && board[1][0][0] == board[0][2][2] )
            {
                return WIN2;
            }

        else if ( board[1][0][0] == "X" && board[1][0][0] == board[2][1][1] && board[1][0][0] == board[1][2][2] )
        {   
            return WIN;
        }
        else if ( board[1][0][0] == "O" && board[1][0][0] == board[2][1][1] && board[1][0][0] == board[1][2][2] )
        {   
            return WIN2;
        }

        else if ( board[1][0][0] == "X" && board[1][0][0] == board[2][1][1] && board[1][0][0] == board[2][2][2] )
        {
            return WIN;
        }
            else if ( board[1][0][0] == "O" && board[1][0][0] == board[2][1][1] && board[1][0][0] == board[2][2][2] )
            {
                return WIN2;
            }

        else if ( board[2][0][0] == "X" && board[2][0][0] == board[0][1][1] && board[2][0][0] == board[0][2][2] )
        {
            return WIN;
        }
            else if ( board[2][0][0] == "O" && board[2][0][0] == board[0][1][1] && board[2][0][0] == board[0][2][2] )
            {
                return WIN2;
            }

        else if ( board[2][0][0] == "X" && board[2][0][0] == board[0][1][1] && board[2][0][0] == board[1][2][2] )
        {
            return WIN;
        }
            else if ( board[2][0][0] == "O" && board[2][0][0] == board[0][1][1] && board[2][0][0] == board[1][2][2] )
            {
                return WIN2;
            }

        else if ( board[2][0][0] == "X" && board[2][0][0] == board[0][1][1] && board[2][0][0] == board[2][2][2] )
        {
            return WIN;
        }
            else if ( board[2][0][0] == "O" && board[2][0][0] == board[0][1][1] && board[2][0][0] == board[2][2][2] )
            {
                return WIN2;
            }

        else if ( board[2][0][0] == "X" && board[2][0][0] == board[1][1][1] && board[2][0][0] == board[0][2][2] )
        {
            return WIN;
        }
            else if ( board[2][0][0] == "O" && board[2][0][0] == board[1][1][1] && board[2][0][0] == board[0][2][2] )
            {
                return WIN2;
            }

        else if ( board[2][0][0] == "X" && board[2][0][0] == board[1][1][1] && board[2][0][0] == board[1][2][2] )
        {
            return WIN;
        }
            else if ( board[2][0][0] == "O" && board[2][0][0] == board[1][1][1] && board[2][0][0] == board[1][2][2] )
            {
                return WIN2;
            }

        else if ( board[2][0][0] == "X" && board[2][0][0] == board[1][1][1] && board[2][0][0] == board[2][2][2] )
        {
            return WIN;
        }
            else if ( board[2][0][0] == "O" && board[2][0][0] == board[1][1][1] && board[2][0][0] == board[2][2][2] )
            {
                return WIN2;
            }

        else if ( board[2][0][0] == "X" && board[2][0][0] == board[2][1][1] && board[2][0][0] == board[0][2][2] )
        {
            return WIN;
        }
            else if ( board[2][0][0] == "O" && board[2][0][0] == board[2][1][1] && board[2][0][0] == board[0][2][2] )
            {
                return WIN2;
            }

        else if ( board[2][0][0] == "X" && board[2][0][0] == board[2][1][1] && board[2][0][0] == board[1][2][2] )
        {
            return WIN;
        }
            else if ( board[2][0][0] == "O" && board[2][0][0] == board[2][1][1] && board[2][0][0] == board[1][2][2] )
            {
                return WIN2;
            }

        else if ( board[2][0][0] == "X" && board[2][0][0] == board[2][1][1] && board[2][0][0] == board[2][2][2] )
        {
            return WIN;
        }
            else if ( board[2][0][0] == "O" && board[2][0][0] == board[2][1][1] && board[2][0][0] == board[2][2][2] )
            {
                return WIN2;
            }

        // check diagonals going up right

        else if ( board[0][2][0] == "X" && board[0][2][0] == board[0][1][1] && board[0][2][0] == board[0][0][2] )
        {
            return WIN;
        }
            else if ( board[0][2][0] == "O" && board[0][2][0] == board[0][1][1] && board[0][2][0] == board[0][0][2] )
            {
                return WIN2;
            }

        else if ( board[0][2][0] == "X" && board[0][2][0] == board[0][1][1] && board[0][2][0] == board[1][0][2] )
        {
            return WIN;
        }
            else if ( board[0][2][0] == "O" && board[0][2][0] == board[0][1][1] && board[0][2][0] == board[1][0][2] )
            {
                return WIN2;
            }

        else if ( board[0][2][0] == "X" && board[0][2][0] == board[0][1][1] && board[0][2][0] == board[2][0][2] )
        {
            return WIN;
        }
            else if ( board[0][2][0] == "O" && board[0][2][0] == board[0][1][1] && board[0][2][0] == board[2][0][2] )
            {
                return WIN2;
            }

        else if ( board[0][2][0] == "X" && board[0][2][0] == board[1][1][1] && board[0][2][0] == board[0][0][2] )
        {
            return WIN;
        }
            else if ( board[0][2][0] == "O" && board[0][2][0] == board[1][1][1] && board[0][2][0] == board[0][0][2] )
            {
                return WIN2;
            }

        else if ( board[0][2][0] == "X" && board[0][2][0] == board[1][1][1] && board[0][2][0] == board[1][0][2] )
        {
            return WIN;
        }
            else if ( board[0][2][0] == "O" && board[0][2][0] == board[1][1][1] && board[0][2][0] == board[1][0][2] )
            {
                return WIN2;
            }

        else if ( board[0][2][0] == "X" && board[0][2][0] == board[1][1][1] && board[0][2][0] == board[2][0][2] )
        {
            return WIN;
        }
            else if ( board[0][2][0] == "O" && board[0][2][0] == board[1][1][1] && board[0][2][0] == board[2][0][2] )
            {
                return WIN2;
            }

        else if ( board[0][2][0] == "X" && board[0][2][0] == board[2][1][1] && board[0][2][0] == board[0][0][2] )
        {
            return WIN;
        }
            else if ( board[0][2][0] == "O" && board[0][2][0] == board[2][1][1] && board[0][2][0] == board[0][0][2] )
            {
                return WIN2;
            }

        else if ( board[0][2][0] == "X" && board[0][2][0] == board[2][1][1] && board[0][2][0] == board[1][0][2] )
        {
            return WIN;
        }
            else if ( board[0][2][0] == "O" && board[0][2][0] == board[2][1][1] && board[0][2][0] == board[1][0][2] )
            {
                return WIN2;
            }

        else if ( board[0][2][0] == "X" && board[0][2][0] == board[2][1][1] && board[0][2][0] == board[2][0][2] )
        {
            return WIN;
        }
            else if ( board[0][2][0] == "O" && board[0][2][0] == board[2][1][1] && board[0][2][0] == board[2][0][2] )
            {
                return WIN2;
            }

        else if ( board[1][2][0] == "X" && board[1][2][0] == board[0][1][1] && board[1][2][0] == board[0][0][2] )
        {
            return WIN;
        }
            else if ( board[1][2][0] == "O" && board[1][2][0] == board[0][1][1] && board[1][2][0] == board[0][0][2] )
            {
                return WIN2;
            }

        else if ( board[1][2][0] == "X" && board[1][2][0] == board[0][1][1] && board[1][2][0] == board[1][0][2] )
        {
            return WIN;
        }
            else if ( board[1][2][0] == "O" && board[1][2][0] == board[0][1][1] && board[1][2][0] == board[1][0][2] )
            {
                return WIN2;
            }

        else if ( board[1][2][0] == "X" && board[1][2][0] == board[0][1][1] && board[1][2][0] == board[2][0][2] )
        {
            return WIN;
        }
            else if ( board[1][2][0] == "O" && board[1][2][0] == board[0][1][1] && board[1][2][0] == board[2][0][2] )
            {
                return WIN2;
            }

        else if ( board[1][2][0] == "X" && board[1][2][0] == board[1][1][1] && board[1][2][0] == board[0][0][2] )
        {
            return WIN;
        }
            else if ( board[1][2][0] == "O" && board[1][2][0] == board[1][1][1] && board[1][2][0] == board[0][0][2] )
            {
                return WIN2;
            }

        else if ( board[1][2][0] == "X" && board[1][2][0] == board[1][1][1] && board[1][2][0] == board[1][0][2] )
        {
            return WIN;
        }
            else if ( board[1][2][0] == "O" && board[1][2][0] == board[1][1][1] && board[1][2][0] == board[1][0][2] )
            {
                return WIN2;
            }

        else if ( board[1][2][0] == "X" && board[1][2][0] == board[1][1][1] && board[1][2][0] == board[2][0][2] )
        {
            return WIN;
        }
            else if ( board[1][2][0] == "O" && board[1][2][0] == board[1][1][1] && board[1][2][0] == board[2][0][2] )
            {
                return WIN2;
            }

        else if ( board[1][2][0] == "X" && board[1][2][0] == board[2][1][1] && board[1][2][0] == board[0][0][2] )
        {
            return WIN;
        }   
            else if ( board[1][2][0] == "O" && board[1][2][0] == board[2][1][1] && board[1][2][0] == board[0][0][2] )
            {
                return WIN2;
            }

        else if ( board[1][2][0] == "X" && board[1][2][0] == board[2][1][1] && board[1][2][0] == board[1][0][2] )
        {
            return WIN;
        }
            else if ( board[1][2][0] == "O" && board[1][2][0] == board[2][1][1] && board[1][2][0] == board[1][0][2] )
            {
                return WIN2;
            }

        else if ( board[1][2][0] == "X" && board[1][2][0] == board[2][1][1] && board[1][2][0] == board[2][0][2] )
        {
            return WIN;
        }
            else if ( board[1][2][0] == "O" && board[1][2][0] == board[2][1][1] && board[1][2][0] == board[2][0][2] )
            {
                return WIN2;
            }

        else if ( board[2][2][0] == "X" && board[2][2][0] == board[0][1][1] && board[2][2][0] == board[0][0][2] )
        {
            return WIN;
        }
            else if ( board[2][2][0] == "O" && board[2][2][0] == board[0][1][1] && board[2][2][0] == board[0][0][2] )
            {
                return WIN2;
            }

        else if ( board[2][2][0] == "X" && board[2][2][0] == board[0][1][1] && board[2][2][0] == board[1][0][2] )
        {
            return WIN;
        }
            else if ( board[2][2][0] == "O" && board[2][2][0] == board[0][1][1] && board[2][2][0] == board[1][0][2] )
            {
                return WIN2;
            }

        else if ( board[2][2][0] == "X" && board[2][2][0] == board[0][1][1] && board[2][2][0] == board[2][0][2] )
        {
            return WIN;
        }
            else if ( board[2][2][0] == "O" && board[2][2][0] == board[0][1][1] && board[2][2][0] == board[2][0][2] )
            {
                return WIN2;
            }

        else if ( board[2][2][0] == "X" && board[2][2][0] == board[1][1][1] && board[2][2][0] == board[0][0][2] )
        {
            return WIN;
        }
            else if ( board[2][2][0] == "O" && board[2][2][0] == board[1][1][1] && board[2][2][0] == board[0][0][2] )
            {
                return WIN2;
            }

        else if ( board[2][2][0] == "X" && board[2][2][0] == board[1][1][1] && board[2][2][0] == board[1][0][2] )
        {
            return WIN;
        }
            else if ( board[2][2][0] == "O" && board[2][2][0] == board[1][1][1] && board[2][2][0] == board[1][0][2] )
            {
                return WIN2;
            }

        else if ( board[2][2][0] == "X" && board[2][2][0] == board[1][1][1] && board[2][2][0] == board[2][0][2] )
        {
            return WIN;
        }
            else if ( board[2][2][0] == "O" && board[2][2][0] == board[1][1][1] && board[2][2][0] == board[2][0][2] )
            {
                return WIN2;
            }   

        else if ( board[2][2][0] == "X" && board[2][2][0] == board[2][1][1] && board[2][2][0] == board[0][0][2] )
        {
            return WIN;
        }
            else if ( board[2][2][0] == "O" && board[2][2][0] == board[2][1][1] && board[2][2][0] == board[0][0][2] )
            {
                return WIN2;
            }

        else if ( board[2][2][0] == "X" && board[2][2][0] == board[2][1][1] && board[2][2][0] == board[1][0][2] )
        {
            return WIN;
        }
            else if ( board[2][2][0] == "O" && board[2][2][0] == board[2][1][1] && board[2][2][0] == board[1][0][2] )
            {
                return WIN2;
            }

        else if ( board[2][2][0] == "X" && board[2][2][0] == board[2][1][1] && board[2][2][0] == board[2][0][2] )
        {
            return WIN;
        }   
            else if ( board[2][2][0] == "O" && board[2][2][0] == board[2][1][1] && board[2][2][0] == board[2][0][2] )
            {
                return WIN2;
            }

        // check rows
        for ( int y = 0; y < 3; y++ )
        {
            for ( int z = 0; z < 3; z++)
            {   
                if ( board[y][z][0] == "X" && board[y][z][0] == board[y][z][1] && board[y][z][1] == board[y][z][2] ) 
                {
                    return WIN;
                }

                else if (board[y][z][0] == "O" && board[y][z][0] == board[y][z][1] && board[y][z][1] == board[y][z][2])
                {
                    return WIN2;
                }
            } // end for loop
        } // end for loop 

        // check columns
        for ( int a = 0; a < 3; a++ )
        {
            for ( int b = 0; b < 3; b++)
            {
                for ( int k = 0; k < 3; k++)
                {
                    if ( board[0][a][b] == "X" && board[0][a][b] == board[1][a][b] && board[1][a][b] == board[2][a][b] )
                    {
                        return WIN;
                    }
                    else if ( board[0][a][b] == "O" && board[0][a][b] == board[1][a][b] && board[1][a][b] == board[2][a][b] )
                    {
                        return WIN2;
                    }
                } // end inner for loop 
            } // end for loop    
        } // end outer for loop 

        // check for draw or continue
        for ( int d = 0; d < 3; ++d )
        {
            for ( int c = 0; c < 3; ++c )
            {
                for ( int z = 0; z < 3; z++)
                {
                    if ( board[d][c][z] == " " )
                    {
                        return CONTINUE; // game is not finished
                    }
                } // end inner for loop 
            } // end for loop

        } // outer for loop

        return DRAW; // game is a draw

    } // end method checkForWinner

   } // end class TicTacToe3D

And:

     public class TicTacToe3DTest 
     {
     public static void main(String [] args)
     {
    TicTacToe3D game = new TicTacToe3D();
    game.makeAMove()
    game.printBoard();
    game.checkForWinner();

} // end main method    
} // end class TicTacToe3DTest

Any feedback on how I can get the method checkForWinner() to run with test class for array is greatly appreciated.

1 Answer 1

2

The key to the error is that when calling a method, your method call must match that of one of the declared method signatures.

You've declared checkForWinner(...) to take a 3D array parameter:

public String checkForWinner( String[][][]board ) {
    // .....

But when you are calling it, you do so without passing in any array:

checkForWinner(); // ..... no array passed in!

A possible solution: since you're only using one class here, you could remove the array from the method declaration and always test the array field in the class.

In other words, change this:

public String checkForWinner( String[][][]board ) 

to this:

public String checkForWinner()

As an aside, I would have this method return a boolean, not a String. Or if you need to return several states have the method return an enum constant.

Sign up to request clarification or add additional context in comments.

3 Comments

I disagree with it returning a boolean, simply because the current setup also handles checking for a draw, making 3 outcomes available. Edit: Actually 4 when you consider it also specifies which player won.
@OblivionCreations: then I'd have it return an enum. A String is a dangerous thing to use in this situation, an "anti-pattern".
I'd definitely go with enum, I enjoy the compiler knowing what valid values it can return

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.