根据 @Joni 的建议,我将其组合在一起:
Scanner scanner = new Scanner(System.in);int choice = 0;while (scanner.hasNext()){ if (scanner.hasNextInt()){ choice = scanner.nextInt(); break; } else { scanner.next(); // Just discard this, not interested... }}这将丢弃标准输入中已经“挂起”的数据,并等待直到输入有效数据为止。在这种情况下有效,表示十进制整数。



