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 + " ");
            }
        }
    }
}

代码解析:

  1. 使用 boolean isPrime = true 变量来标记当前数字是否为素数,初始值为 true
  2. 内层循环遍历从 2 到 i-1 的所有数字,判断 i 是否能被 j 整除。
  3. 如果 i 能被 j 整除,则将 isPrime 设置为 false,表示当前数字不是素数,并使用 break 跳出内层循环。
  4. 内层循环结束后,如果 isPrime 仍然为 true,则表示当前数字为素数,打印输出该数字。

总结:

本文通过分析原始代码中的错误,并给出修正后的代码,展示了用 Java 代码实现判断素数的算法,并找出 200 到 300 之间的素数。

Java 代码实现素数判断:找出 200 到 300 之间的素数

原文地址: https://www.cveoy.top/t/topic/qnk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录