JAVA 输入数字x和y,输出【x,y】区间内所有的质数;每行输出5个数字,2个数字之间空2格 注意:数字x和y最大三位数,每个数字输入通过回车结束
时间: 2024-10-05 08:03:48 浏览: 64
常用数字签名算法RSA与DSA的Java程序内实现示例
在Java中,你可以编写一个程序来解决这个问题。首先,你需要创建一个辅助函数来判断一个数是否为质数。然后,遍历给定区间的每个数,如果是质数就将其打印。以下是一个简单的示例:
```java
import java.util.Scanner;
public class PrimeNumbersInRange {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字x(0 <= x <= 999):");
int x = scanner.nextInt();
System.out.println("请输入数字y(0 <= y <= 999,y > x):");
int y = scanner.nextInt();
// 判断是否满足范围要求并检查质数
if (x >= 0 && x <= 999 && y >= 0 && y <= 999 && y > x) {
for (int i = x; i <= y; i++) {
if (isPrime(i)) {
System.out.print(i + " ");
if (--count == 4 || i == y) { // 每打印5个数换行,最后一个数单独一行
System.out.println();
count = 0;
} else {
System.out.print(" "); // 两个空格
count++;
}
}
}
} else {
System.out.println("输入的范围无效!");
}
scanner.close();
}
// 辅助函数:判断一个数是否为质数
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;
}
}
```
阅读全文