首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-02-16 
求高手解答一个Scanner的怪题代码如下Java codepackage comimport java.util.Scannerpublic class Test1

求高手解答一个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;            }        }    }} 

热点排行