Java 代码实现 200 到 300 之间的素数查找

以下代码旨在找出 200 到 300 之间的素数并将其输出。

原始代码:

public class sushu {
    public static void main(String[] args){
        int i,j;
        for(i=200;i<=300;i++){
            for(j=2;j<=i-1;j++){
                if(i%j==0){
                    break;
            }
                if(j>i-1){
                System.out.print(i+"  ");
                }
        }
    }
    }
}

问题分析:

该程序的目的是找出 200 到 300 之间的素数,并将其输出。但是,在程序的第一个循环中,即 for 循环中,有一处错误。在 for 循环的内部,应该有一个 if 语句来判断是否找到了 i 的因子,如果找到了,应该使用 break 语句跳出内部循环。然后,在 if 语句的外部应该再添加一个 if 语句来判断是否找到了所有的因子,如果没有找到,则输出 i,否则继续下一轮循环。

修正后的代码:

public class Sushu {
    public static void main(String[] args){
        int i, j;
        for(i = 200; i <= 300; i++){
            for(j = 2; j <= i-1; j++){
                if(i % j == 0){
                    break;
                }
            }
            if(j > i-1){
                System.out.print(i + "  ");
            }
        }
    }
}

代码解释:

  1. 使用两个嵌套的 for 循环来遍历 200 到 300 之间的每个数字 i。
  2. 内层 for 循环从 2 开始,遍历到 i-1,判断 i 是否可以被 j 整除。
  3. 如果 i 可以被 j 整除,则说明 i 不是素数,使用 break 语句跳出内层循环。
  4. 如果内层循环结束后 j 大于 i-1,则说明 i 没有找到因子,即 i 是素数,输出 i。

现在,程序应该能够正确输出 200 到 300 之间的素数。


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

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