Java 代码实现素数判断:找出 200 到 300 之间的素数
Java 代码实现素数判断:找出 200 到 300 之间的素数
本文将通过 Java 代码实现判断素数的算法,并找出 200 到 300 之间的素数。
原始代码:
public class sushu {
public static void main(String[] args) {
for (int i = 200; i <= 300; i++) {
for (int j = 2; j < i - 1; j++) {
if (i % j == 0) {
break;
}
else {
System.out.print(i + " ");
}
}
}
}
}
错误分析:
原始代码中,错误出现在循环嵌套的语句块中。应该在内层循环结束后再判断是否打印当前的数值。
修正后的代码:
public class sushu {
public static void main(String[] args) {
for (int i = 200; i <= 300; i++) {
boolean isPrime = true; // 增加一个标志位来判断是否是素数
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = false; // 如果能整除,则不是素数
break;
}
}
if (isPrime) {
System.out.print(i + " ");
}
}
}
}
代码解析:
- 使用
boolean isPrime = true变量来标记当前数字是否为素数,初始值为true。 - 内层循环遍历从 2 到
i-1的所有数字,判断i是否能被j整除。 - 如果
i能被j整除,则将isPrime设置为false,表示当前数字不是素数,并使用break跳出内层循环。 - 内层循环结束后,如果
isPrime仍然为true,则表示当前数字为素数,打印输出该数字。
总结:
本文通过分析原始代码中的错误,并给出修正后的代码,展示了用 Java 代码实现判断素数的算法,并找出 200 到 300 之间的素数。
原文地址: https://www.cveoy.top/t/topic/qnk 著作权归作者所有。请勿转载和采集!