java设计一个方法primeList(),返回大于正整数num的n个质数组成的列表集合 例如传入正整数50和5,返回[53, 59, 61, 67, 71]
时间: 2023-06-18 18:06:36 浏览: 78
java代码-使用java解决输出1000以内最大的n个质数及其和。输出形式“质数1+质数2+...+质数n=的源代码
以下是实现该方法的Java代码:
```java
import java.util.ArrayList;
import java.util.List;
public class PrimeNumberGenerator {
public static List<Integer> primeList(int num, int n) {
List<Integer> primes = new ArrayList<>();
int count = 0;
int currentNum = num + 1;
while (count < n) {
if (isPrime(currentNum)) {
primes.add(currentNum);
count++;
}
currentNum++;
}
return primes;
}
private static boolean isPrime(int num) {
if (num < 2) {
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.toString());
}
}
```
在这个实现中,我们首先定义了一个 `primeList()` 方法来生成 n 个大于 num 的质数。这个实现首先创建了一个空的 `primes` 列表,然后使用一个 `count` 变量来计数已找到的质数数量。我们使用另一个变量 `currentNum` 来迭代寻找质数。在每次循环中,我们首先检查 `currentNum` 是否为质数,如果是,我们将其添加到 `primes` 列表中,并将 `count` 加 1。一旦我们找到了 n 个质数,我们就返回 `primes` 列表。
为了判断一个数是否为质数,我们定义了一个 `isPrime()` 方法。这个实现首先检查传入的数是否小于 2,因为 2 以下的数不是质数。然后我们使用一个循环来检查从 2 到这个数平方根之间的所有数,看是否有任何一个能整除这个数,如果有,这个数就不是质数。如果没有,这个数就是质数。
阅读全文