📅  最后修改于: 2023-12-03 15:02:06.613000             🧑  作者: Mango
素数是只能被1和本身整除的自然数,如2、3、5、7等。
以下是一段Java程序,可以计算指定范围内的素数:
import java.util.ArrayList;
import java.util.List;
public class PrimeNumber {
public static List<Integer> getPrimeNumbers(int n) {
List<Integer> primes = new ArrayList<>();
if (n >= 2) {
primes.add(2);
for (int i = 3; i <= n; i += 2) {
boolean isPrime = true;
for (int j = 3; j * j <= i; j += 2) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
primes.add(i);
}
}
}
return primes;
}
public static void main(String[] args) {
List<Integer> primes = getPrimeNumbers(100);
for (Integer prime : primes) {
System.out.print(prime + " ");
}
}
}
以上程序主要用到了两个方法:
getPrimeNumbers(int n)
:返回指定范围内的素数列表,其中n
为指定范围的最大值。main(String[] args)
:测试方法,调用getPrimeNumbers(int n)
方法并输出结果。在getPrimeNumbers(int n)
方法中,我们首先创建了一个空的整数列表primes
,然后判断n
是否大于等于2,如果是,则首先将2加入素数列表中。
接着,我们从3开始,以2为步长依次遍历所有奇数,并用一个布尔型变量isPrime
来表示当前的数是否为素数。对于每一个奇数,我们只需要判断它能否被小于等于它的平方根的奇数整除。这是因为如果一个数不是素数,那么它必定可以分解成两个自然数的乘积,其中至少一个小于等于它的平方根。
如果一个奇数不能被任何奇数整除,则它是一个素数,我们将其加入素数列表中。
最后,我们返回素数列表。
在main(String[] args)
方法中,我们调用getPrimeNumbers(int n)
方法并输出结果。
输出结果如下:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
可以看到,我们成功地计算了指定范围内的素数。
以上是一段Java程序,用于计算指定范围内的素数。通过这个程序,我们不仅能够学习到如何判断一个数是否为素数,还能够加深对列表的使用和循环的掌握。