Java怎么判断质数并存起来
时间: 2025-06-06 07:19:58 浏览: 14
### Java 实现质数判断并存储结果
在 Java 中,可以通过编写逻辑来判断一个数是否为质数,并将其结果存储到数据结构中以便后续使用。以下是完整的解决方案:
#### 判断质数的核心逻辑
为了提高效率,在判断某个数 `n` 是否为质数时,只需检查它能否被小于等于其平方根的任何整数整除即可[^1]。
#### 使用数组或集合存储结果
可以利用 Java 的内置容器类(如 `ArrayList` 或者数组)来保存所有的质数结果。下面提供两种方法分别基于数组和 `ArrayList` 来实现这一功能。
---
#### 方法一:使用 ArrayList 存储质数
```java
import java.util.ArrayList;
public class PrimeNumberList {
public static void main(String[] args) {
int max = 100; // 定义范围上限
ArrayList<Integer> primes = new ArrayList<>(); // 创建列表用于存储质数
for (int i = 2; i <= max; i++) { // 遍历从2到max的所有整数
if (isPrime(i)) { // 如果当前数字是质数,则加入列表
primes.add(i);
}
}
// 输出所有质数及其数量
System.out.println("1-" + max + "之间的质数有:" + primes.toString());
System.out.println("总共找到 " + primes.size() + " 个质数");
}
private static boolean isPrime(int n) { // 判断是否为质数的方法
if (n < 2) return false;
for (int j = 2; j * j <= n; j++) { // 只需检查至sqrt(n)
if (n % j == 0) return false;
}
return true;
}
}
```
此代码片段通过调用辅助函数 `isPrime()` 对每一个候选数值进行检测,并将符合条件的结果存入动态数组 `primes` 中。
---
#### 方法二:使用固定大小的数组存储质数
如果提前知道要查找的最大值以及可能存在的最大质数数目,也可以采用静态数组的方式完成同样的任务。
```java
public class PrimeArrayStorage {
public static void main(String[] args) {
final int MAX_LIMIT = 100; // 设定寻找质数的上界
int count = 0; // 记录实际发现的质数个数
int[] primeNumbers = new int[MAX_LIMIT]; // 初始化足够大的数组容纳潜在全部质数
for (int candidate = 2; candidate <= MAX_LIMIT; candidate++) {
if (checkIfPrime(candidate)) { // 若candidate为质数则记录下来
primeNumbers[count++] = candidate;
}
}
// 打印最终获得的有效部分的数据集
System.out.print("1-" + MAX_LIMIT + "中的质数如下:");
for (int index = 0; index < count; index++) {
System.out.print(primeNumbers[index] + " ");
}
System.out.println("\n总计:" + count + "项.");
}
private static boolean checkIfPrime(int num) { // 辅助判定某数是否属于质数范畴
if (num < 2) return false;
double sqrtNum = Math.sqrt(num);
for (int factor = 2; factor <= sqrtNum; factor++) {
if ((num % factor) == 0) return false;
}
return true;
}
}
```
上述例子展示了另一种方式——运用传统的一维数组作为载体承载计算所得出的各个质因子实例[^3]。
---
### 总结说明
以上两段示例均实现了基本的需求即筛选指定区间内的所有素数并将它们妥善保管起来供进一步操作之便。第一种方案更加灵活适应未知规模场景;而第二种更适合已知确切边界条件下的应用场合[^2]。
阅读全文
相关推荐














