代码如下
- Java code
package com;import java.util.Scanner;public class Test1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { try { int score = 0; score = sc.nextInt(); } catch (Exception e) { System.out.println("输入的不是一个整数"); continue; } } }}
当输入的是数字的时候,一切正常,可以重复输入数字
一旦输入字符串,将会死循环输出
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
输入的不是一个整数
根本没输入的机会,求高手解答,
另外如果把Scanner的创建放到循环里面,输入字符串就不会出现问题了。
------解决方案--------------------
- Java code
import java.util.Scanner;public class Test1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { try { int score = 0; score = sc.nextInt(); } catch (Exception e) { System.out.println("输入的不是一个整数"); String temp = sc.next();//加上这句,让把输入的非数字读进去 continue; } } }}