从标准设备输入数据,直到输入是非整数数据为止,用Java如何实现
时间: 2023-12-03 08:46:28 浏览: 31
可以使用Java的Scanner类来读取标准输入,并结合循环和异常处理来实现输入非整数数据时的判断和处理。具体实现如下:
```java
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = 0;
boolean isValidInput = false;
while (!isValidInput) {
try {
System.out.print("请输入一个整数:");
num = scanner.nextInt();
isValidInput = true;
} catch (InputMismatchException e) {
System.out.println("输入数据不是整数,请重新输入!");
scanner.nextLine(); // 清除缓冲区中的非法输入
}
}
System.out.println("输入的整数为:" + num);
}
}
```
在上述代码中,首先创建一个Scanner对象来读取标准输入,然后使用一个循环来不断读取输入,直到输入的数据为整数为止。在循环中,使用try-catch语句块来捕获InputMismatchException异常,如果捕获到该异常说明输入的数据不是整数,此时输出提示信息并清除缓冲区中的非法输入,然后继续循环读取输入。当读取到的数据为整数时,将isValidInput标记为true,跳出循环并输出结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)