在Java中,提示用户输入一个整数,如果输入的不是整数,则通过异常处理,捕获非法输入,并让用户重新输入,直到输入整数为止,并求出这个整数所有因数的和
时间: 2023-12-07 19:02:28 浏览: 74
好的,我可以帮你解决这个问题。
你可以使用Scanner类来获取用户的输入,并使用try-catch语句来捕获异常。以下是一个示例代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = 0;
boolean validInput = false;
while (!validInput) {
try {
System.out.print("请输入一个整数: ");
num = scanner.nextInt();
validInput = true;
} catch (Exception e) {
System.out.println("非法输入,请重新输入!");
scanner.nextLine(); // 清空缓存区
}
}
int sum = 0;
for (int i = 1; i <= num; i++) {
if (num % i == 0) {
sum += i;
}
}
System.out.println("该整数的因数和为:" + sum);
}
}
```
在上面的代码中,我们使用了一个while循环来不断获取用户的输入,直到输入的是一个整数为止。如果输入的不是整数,就会抛出异常,并通过catch语句来处理异常,输出提示信息,并清空Scanner缓存区的内容。
最后,我们使用一个for循环来计算输入整数的所有因数之和,并输出结果。
阅读全文