Java 找出200到300之间的所有质数
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之间的所有质数。
原文地址: https://www.cveoy.top/t/topic/ql0 著作权归作者所有。请勿转载和采集!