Java 找出200到300之间的所有质数

这段代码旨在找出200到300之间的所有质数,但是却无法输出任何内容。这是因为代码中存在一个错误:在内层循环中,当找到一个能整除 i 的数时,使用了 continue 语句,导致跳过了后续代码,无法正确判断 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)
                    continue;
            }
            System.out.print(i+"  ");
        }
    }
}

修改后的代码:

为了正确判断质数,我们需要使用 break 语句来结束内层循环,并添加一个标记来判断是否找到了能整除 i 的数。

public class sushu {
    public static void main(String[] args){
        int i,j;
        boolean isPrime; // 标记是否为质数
        for(i=200;i<=300;i++){
            isPrime = true;
            for(j=2;j<i;j++){ // 将内层循环条件改为j<i
                if(i%j==0){
                    isPrime = false;
                    break; // 使用break结束内层循环
                }
            }
            if(isPrime){
                System.out.print(i+"  ");
            }
        }
    }
}

修改后的代码会输出200到300之间的所有质数。

Java 找出200到300之间的所有质数

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

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