具体代码如下,结果陷入了死循环!请问该如何修改?
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(); // 吃掉回车 } } }}