编写一个Java程序,从键盘输2个整数,将这两个整数之间的素数及其素数的个数显示出来,每10个素数显示一行。比如输入100 和 20, 则显示 区间[ 20, 100 ]内的全部素数
时间: 2024-09-15 20:04:24 浏览: 57
从键盘任意输入两个整数,输出两数之间的素数,素数判断用函数实现。 扩展要求:1)程序可以循环执行,判断完一组可以再进行下一组;可以设定一个特殊键退出
5星 · 资源好评率100%
在Java中编写这样的程序,我们可以使用`Scanner`类获取用户输入,然后遍历指定范围内的数字,检查每个数是否为素数。以下是详细的步骤:
```java
import java.util.Scanner;
public class PrimeNumbersInRange {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入两个整数,用空格隔开:");
int start = scanner.nextInt(); // 第一个整数
int end = scanner.nextInt(); // 第二个整数
if (start > end) { // 确保起始值小于结束值
int temp = start;
start = end;
end = temp;
}
System.out.println("区间[" + start + ", " + end + "]内的素数:");
int count = 0; // 记录素数个数
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
System.out.print(i + " ");
count++;
// 每10个素数换行
if (count % 10 == 0) {
System.out.println();
}
}
}
System.out.println("\n总共找到" + count + "个素数。");
scanner.close();
}
// 判断一个数是否为素数的辅助函数
private static boolean isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) return false;
}
return true;
}
}
```
当你运行这个程序并输入100 和 20,它会输出区间[20, 100]内的所有素数,并按每10个数换一行。
阅读全文