I am making a connect 4 game for school. I have a player class defining aspects of each player, Board class, "logic" class and game class which runs the game. My Player class has two methods almost identacle to set up each player only difference is the game piece, X or O. The Player method also reads in a registration ID and gamerTag. It runs flawlessly on player1, but I get java.util.NoSuchElementException. I actually get this error when trying to run any method that uses in.next...();
Player Class Methods
public void setPlayer1() {
Scanner in = new Scanner(System.in);
System.out.println("\nPlayer 1 please enter your Arena registration ID.");
this.setID(in.nextLong());
System.out.print("");
System.out.println("Player 1 please enter the name you would like to use.");
this.setTag(in.next());
System.out.print("");
System.out.print(gamerTag + " your game piece is \"X\".");
this.setPiece("X");
in.close();
}
public void setPlayer2() {
Scanner in = new Scanner(System.in);
System.out.println("\nPlayer 2 please enter your Arena registration ID.");
this.setID(in.nextLong());
System.out.print("");
System.out.println("Player 2 please enter the name you would like to use.");
this.setTag(in.next());
System.out.print("");
System.out.print(gamerTag + " your game piece is \"O\".");
this.setPiece("O");
in.close();}
public static void main(String[] args) {
Connect4TextConsole game = new Connect4TextConsole();
System.out.print(board);
player1.setPlayer1();
player2.setPlayer2();
winner = Connect4.checkForWin(board);
while (!winner){
turn = turn.playerTurn(player1, player2);// switch players
int column = Connect4.askForColumn(turn);
}
}