如何忽略非整数输入并继续接受输入

How to ignore non integer input and continue taking input

我正在尝试忽略任何非整数输入(例如 r、$、£)并继续接受输入,直到出现整数输入为止。感谢任何帮助。

    while (input.hasNextInt()){

    int column = input.nextInt();
    if (column < 0 || column > 6){
      errorWrongInput();
      continue;
    } 
    if(placeCounter(board,column,player)) {
      if (hasWon(board)){
          System.out.println ("Player " +player+ " wins");
          printBoard(board);
          return;
      }
      player = playerTurn(player);
    }
  printBoard(board); // print the board
  }
}

希望有所帮助..如果没有,请在遗漏的地方发表评论..

while (input.hasNext()){ // use hasNext instead of hasNextInt
try{
    int column = input.nextInt();
    if (column < 0 || column > 6){
      errorWrongInput();
      continue;
    } 
} //Brackets required to close try
catch (InputMismatchException ex){ //catch Exception here for non integer input
            input.next(); // do a next() here
            continue;
        }
    if(placeCounter(board,column,player)) {
      if (hasWon(board)){
      System.out.println ("Player " +player+ " wins");
      printBoard(board);
      return;
      }
      player = playerTurn(player);
    }
  printBoard(board); // print the board
  }
}