java设计一个方法primeList(),返回大于正整数num的n个质数组成的列表集合 例如传入正整数50和5,返回[53, 59, 61, 67, 71],可以创建新的方法、
时间: 2024-05-08 16:20:42 浏览: 89
下面是一个实现了上述功能的Java代码:
```
import java.util.ArrayList;
import java.util.List;
public class PrimeNumber {
public static List<Integer> primeList(int num, int n) {
List<Integer> primes = new ArrayList<>();
int count = 0;
int i = num + 1;
while (count < n) {
if (isPrime(i)) {
primes.add(i);
count++;
}
i++;
}
return primes;
}
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;
}
public static void main(String[] args) {
List<Integer> primes = primeList(50, 5);
System.out.println(primes);
}
}
```
这个程序中,我们首先定义了一个 `primeList` 方法,它接受两个参数:一个正整数 `num` 和一个整数 `n`。这个方法会返回一个包含大于 `num` 的 `n` 个质数的列表集合。
在 `primeList` 方法中,我们首先创建了一个空的列表 `primes` 用于存储质数。我们用一个计数器变量 `count` 记录已经找到的质数数量,并从 `num` 的下一个整数开始循环查找质数,直到找到 `n` 个质数为止。
在每次循环中,我们调用 `isPrime` 方法判断当前数是否为质数。如果是质数,我们将它加入到 `primes` 列表中,并将计数器 `count` 加 1。
`isPrime` 方法用于判断一个数是否为质数。如果这个数小于等于 1,那么它不是质数;否则,我们从 2 到这个数的平方根之间的所有整数中判断是否有能整除这个数的数,如果有,那么这个数就不是质数。
阅读全文