java使用do-while循环,输入一个正整数,判断该数是不是质数并输出结果,如果不是质数,循环输入直至输入为质数
时间: 2024-09-20 14:10:57 浏览: 22
在 Java 中,你可以使用 do-while 循环和一些基本的数学原理来实现这个功能。下面是一个简单的示例程序:
```java
import java.util.Scanner;
public class PrimeNumberChecker {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number;
// 使用 do-while 循环直到用户输入一个质数
do {
System.out.println("请输入一个正整数:");
while (!input.hasNextInt()) { // 检查输入是否为整数
System.out.println("输入错误,请输入一个正整数:");
input.next(); // 清除无效输入
}
number = input.nextInt();
if (isPrime(number)) {
System.out.format("%d 是质数.\n", number);
} else {
System.out.format("%d 不是质数。\n", number);
}
} while (!isPrime(number)); // 如果不是质数,则继续循环
input.close(); // 关闭 Scanner
}
// 判断一个数是否为质数的辅助函数
private static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
```
在这个程序中,我们首先获取用户的输入,并检查它是否为整数。然后,我们使用 `isPrime` 函数来判断输入的数字是否为质数。如果输入的数字不是质数,我们就提示用户再次输入,直到用户给出的数是质数为止。