编写一个函数接口,其中有一个找出所有素数的抽象方法。再编写一个类,类中只有一个方法,找出给定范围内所有的素数。请使用Lambda表达式函数引用的方法,完成找出10000内所有的素数并每行输出10个素数。
时间: 2024-03-01 13:55:07 浏览: 68
好的,我会给出代码示例:
函数接口:
```java
@FunctionalInterface
public interface PrimeFinder {
boolean isPrime(int n);
}
```
类:
```java
public classNumberPrinter {
public static void printPrimeNumbers(int start, int end, PrimeFinder primeFinder) {
int count = 0;
for (int i = start; i <= end; i++) {
if (primeFinder.isPrime(i)) {
System.out.print(i + " ");
count++;
if (count == 10) {
System.out.println();
count = 0;
}
}
}
}
public static void main(String[] args) {
PrimeFinder isPrime = n -> {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
};
printPrimeNumbers(2, 10000, isPrime);
}
}
```
这个程序会输出10000以内的所有素数,并且每行输出10个素数。
阅读全文