Java中有没有像C语言中的fflush那样的函数

来源:百度知道 编辑:UC知道 时间:2024/06/05 16:28:27
就是一个简单的输入:int i=input.nextInt();
如果输入的是小数的话,这个程序会停止运行,这时我将它放在一个异常处理中:try{int i=input.nextInt();}catch(Exception e){}
但是我想让它能循环输入,象下面这样:
while(true){
try{int i=input.nextInt();
break;
}
catch(Exception e){
System.out.println("您输入错误,请重新输入:");
}
}
但是输入一个小数后,由于错误输入这个数据依然留在键盘存储区中,这样的话下一回再输入的话依然是这个数据,这样就造成了死循环,这时我想到了C语言中有一个fflush函数,可以清空键盘存储区,我想问一下Java中有没有类似的,或者有更好的编程方法,让用户输入直到输入正确数据为止就跳出,我将悬赏30分,希望大家积极参与!
这个第一个的答案很不错,我当时也想用一个输入方法来接收,可是就是没想到用s.next(),太感谢了!

在编写的时候没遇到楼主所说的问题,我下面将自己的代码贴出来,看是不是楼主所需
import java.util.Scanner;
public class IntTest {
private static int num;
/**
* 检测输入的是否为小数
*/
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
boolean flag = true;
while(flag){
try{
num = s.nextInt();
System.out.println("您输入的是:"+num);
flag = false;
}catch(Exception e){
System.out.println("请输入整数:"+s.next());
}
}
}
}