下面是一个Java程序示例,用于找出并打印100以内的所有素数(质数):
public class PrimeNumbers {
public static void main(String[] args) {
// 遍历2到100之间的所有数
for (int num = 2; num <= 100; num++) {
// 假设num是素数
boolean isPrime = true;
// 检查从2到num的平方根之间是否有num的因数
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
// 如果找到因数,则num不是素数
isPrime = false;
break;
}
}
// 如果num是素数,则打印它
if (isPrime) {
System.out.println(num);
}
}
}
}
这个程序首先通过一个外层循环遍历2到100之间的所有整数。对于每个数`num`,它假设这个数是素数,并设置`isPrime`标志为`true`。然后,使用一个内层循环来检查从2到`num`的平方根之间是否有`num`的因数。如果找到任何因数,则将`isPrime`设置为`false`并跳出内层循环。最后,如果`isPrime`仍然为`true`,则打印出这个数,表示它是一个素数。
注意,我们只需要检查到`num`的平方根即可,因为如果`num`有一个大于其平方根的因数,那么它必定还有一个小于或等于其平方根的因数。这是优化素数检查过程的一种常用方法。