为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕后森 2018-12-06 20:28:01
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;} } }}
查看完整描述

5 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

虽然不知道质数是怎么个算法,但是你第二个for循环里面的break用法导致你每次在j=1时,执行完就跳出了

因为任何数%1都等于0,所以会……

查看完整回答
反对 回复 2018-12-16
?
噜噜哒

TA贡献1784条经验 获得超7个赞

j = 1 ?          ?

查看完整回答
反对 回复 2018-12-16
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

自己赋值啊,不行吗?

查看完整回答
反对 回复 2018-12-16
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

请理解一下啥是质数

查看完整回答
反对 回复 2018-12-16
?
长风秋雁

TA贡献1757条经验 获得超7个赞

 

你这个代码,if判断后,如果除于操作都得0了当然不是质数,你还打出来干嘛。。。

而且我建议你使用一个布尔值来记录当前循环的数是不是质数,每次外层循环开始,都进行一次重新赋值成true(是质数),在里层循环的判断中,只要有一次除于运算==0,那么就将此值直接赋值为false,因为它不再可能是质数了。

里层循环全部结束后,执行一个if判断,判断设定的布尔值到底是true或者false,通过判断true来进行打印即可。

 

查看完整回答
反对 回复 2018-12-16
  • 5 回答
  • 0 关注
  • 707 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号