设计一个方法primeList(),返回大于正整数num的n个质数组成的列表集合 例如传入0和8,返回[2,3,5,7,11,13,17,19],可以创建新的方法 public class PrimeDemo { public static void main(String[] args) { System.out.println(primeList(0, 8)); //输出:[2, 3, 5, 7, 11, 13, 17, 19] System.out.println(primeList(50, 5)); //输出:[53, 59, 61, 67, 71] } public static List<Integer> primeList(int num, int n){ //补充方法代码 } }
时间: 2023-06-17 15:06:49 浏览: 93
nth-prime:一个简单的npm软件包,其函数返回第n个质数
下面是实现了primeList()方法的代码:
```
import java.util.ArrayList;
import java.util.List;
public class PrimeDemo {
public static void main(String[] args) {
System.out.println(primeList(0, 8)); //[2, 3, 5, 7, 11, 13, 17, 19]
System.out.println(primeList(50, 5)); //[53, 59, 61, 67, 71]
}
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;
}
public 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;
}
}
```
首先,我们创建了一个空的ArrayList来存储质数,然后定义了一个计数器count,用于记录已经找到的质数数量。接着,我们定义了一个currentNum变量,它的初始值是num+1,表示从num+1开始查找质数。
在while循环中,我们检查currentNum是否是质数。如果是,我们将其添加到primes列表中,并将count计数器加1。然后,我们将currentNum加1,继续查找下一个质数。直到找到n个质数为止。
最后,我们返回primes列表,其中包含了n个大于num的质数。isPrime()方法用于判断一个数字是否是质数。它通过循环检查小于该数字的所有整数是否能够整除该数字来实现。
阅读全文