Java 程序:检查一个数字是否为质数
要理解这个示例,你应该具备以下 Java 编程主题的知识:
素数是只能被 1 和它本身整除的数字。所以,如果某个数字能被其他数字整除,那它就不是素数。
示例 1:使用 for 循环检查素数的程序
public class Main {
public static void main(String[] args) {
int num = 29;
boolean flag = false;
for (int i = 2; i <= num / 2; ++i) {
// 判断非素数的条件
if (num % i == 0) {
flag = true;
break;
}
}
if (!flag)
System.out.println(num + " 是一个素数。");
else
System.out.println(num + " 不是一个素数。");
}
}
输出
29 是一个素数。
在上述程序中,使用 for 循环来判断给定的数字 num
是否为素数。
注意,我们的循环从 2 到 num/2。这是因为一个数字不会被它的一半以上的数字整除。
在 for
循环中,我们检查数字是否能被给定范围内的任何数字 (2...num/2)
整除。
- 如果
num
可以被整除,flag
被设置为true
并跳出循环。这确定num
不是素数。 - 如果
num
不能被任何数字整除,flag
为 false,num
是一个素数。
示例 2:使用 while 循环检查素数的程序
public class Main {
public static void main(String[] args) {
int num = 33, i = 2;
boolean flag = false;
while (i <= num / 2) {
// 判断非素数的条件
if (num % i == 0) {
flag = true;
break;
}
++i;
}
if (!flag)
System.out.println(num + " 是一个素数。");
else
System.out.println(num + " 不是一个素数。");
}
}
输出
33 不是一个素数。
在上述程序中,使用 while 循环代替了 for 循环。循环运行直到 i <= num/2
。每次迭代都会检查 num
是否能被 i
整除,并将 i
的值加 1。
访问此页面了解如何显示两个区间之间的所有素数。