当前位置: 代码迷 >> J2SE >> 求高手解答一个Scanner的怪题,该如何解决
  详细解决方案

求高手解答一个Scanner的怪题,该如何解决

热度:70   发布时间:2016-04-24 01:57:29.0
求高手解答一个Scanner的怪题
代码如下
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;            }        }    }}
  相关解决方案