猿问

自己写的,求101到200的质数,但求不了,不知那错了,输出的都是从101数到200

public class zhishu {
public static void main (String[] args) {

for(int i = 101; i <= 200; i++) {
for(int j= 2;j<i; j++) {
if(i % j == 0) {
System.out.print(" "+ i);

    break;
}

}
if(i<100) {continue;}


}

}
}

慕后森
浏览 708回答 5
5回答

神不在的星期二

虽然不知道质数是怎么个算法,但是你第二个for循环里面的break用法导致你每次在j=1时,执行完就跳出了 因为任何数%1都等于0,所以会……

噜噜哒

j = 1 ?          ?

扬帆大鱼

自己赋值啊,不行吗?

料青山看我应如是

请理解一下啥是质数

长风秋雁

  你这个代码,if判断后,如果除于操作都得0了当然不是质数,你还打出来干嘛。。。 而且我建议你使用一个布尔值来记录当前循环的数是不是质数,每次外层循环开始,都进行一次重新赋值成true(是质数),在里层循环的判断中,只要有一次除于运算==0,那么就将此值直接赋值为false,因为它不再可能是质数了。 里层循环全部结束后,执行一个if判断,判断设定的布尔值到底是true或者false,通过判断true来进行打印即可。  
随时随地看视频慕课网APP

相关分类

Java
我要回答