【问题描述】 定义静态方法findPrime(int []arr),找出数组arr中的全部素数。 素数也称质数,一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。 注意:你定义main函数的写法如下,不要修改main函
时间: 2024-10-22 12:23:17 浏览: 29
1104课程教学示例程序.rar
【回答】
为了定义一个名为`findPrime`的静态方法,用于找出给定整数数组`arr`中的所有素数,你可以按照以下步骤编写:
```java
public class PrimeFinder {
// 静态方法findPrime,接收一个int类型的数组作为参数
public static boolean[] findPrime(int[] arr) {
boolean[] isPrime = new boolean[arr.length];
for (int i = 0; i < arr.length; i++) {
isPrime[i] = isNumberPrime(arr[i]);
}
return isPrime;
}
// 辅助方法isNumberPrime检查一个数是否为素数
private static boolean isNumberPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) { // 只需检查到该数平方根即可
if (num % i == 0) {
return false;
}
}
return true;
}
// 主方法main,展示如何调用findPrime方法并打印结果
public static void main(String[] args) {
int[] arr = {2, 4, 5, 6, 7, 9, 10}; // 示例输入数组
boolean[] primeFlags = findPrime(arr);
System.out.println("数组中的素数有:");
for (int i = 0; i < arr.length; i++) {
if (primeFlags[i]) {
System.out.print(arr[i] + " ");
}
}
//
阅读全文