当前位置: 代码迷 >> J2SE >> 小弟我想从控制台输入一个整数,如果不是整数重新输入
  详细解决方案

小弟我想从控制台输入一个整数,如果不是整数重新输入

热度:75   发布时间:2016-04-24 02:05:13.0
求助:我想从控制台输入一个整数,如果不是整数重新输入
具体代码如下,结果陷入了死循环!请问该如何修改?
package com.wrx.six;
import java.util.*;
public class Test {

/**
* 输入限制为int数字,不是int数字重新输入
*/
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
while (true){
try{
System.out.println("请输入一个整数:");
int num=input.nextInt();
break;
}
catch(InputMismatchException e){
System.out.println("必须输入整数!请重新输入:");
}
}
}
}

------解决方案--------------------
Java code
import java.io.IOException;import java.util.InputMismatchException;import java.util.Scanner;public class Test {    /**     * 输入限制为int数字,不是int数字重新输入     * @throws IOException      */    public static void main(String[] args) throws IOException {        Scanner input = new Scanner(System.in);        int num = 0;                while (num == 0) {            try {                System.out.println("请输入一个整数:");                num = input.nextInt();            } catch (InputMismatchException e) {                System.out.println("必须输入整数!请重新输入:");                input.nextLine(); // 吃掉回车            }        }            }}
  相关解决方案