用while语句求质数问题

kirkjason 2009-07-24 02:55:28
//输出101-200内的质数
public class testwhile1
{
public static void main(String args[])
{
int i=101;
while(i<200)
{
boolean f=true;
int j=2;
while(j<i)
{
if(i%j==0)
{
f=false;
break;
}
j++;
}
if(!f)
{
continue;
}
System.out.print(" "+i);
i=i+2;
}
}
}

有人知道我错在哪里吗?总是不能显示正确的数,而FOR循环语句就可以.
...全文
511 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hebuthans 2011-07-24
  • 打赏
  • 举报
回复
我也遇到了这个问题,谢谢各位~~
kirkjason 2009-07-26
  • 打赏
  • 举报
回复
哦。我明白了。谢谢了。
kirkjason 2009-07-26
  • 打赏
  • 举报
回复

public class testwhile1{
public static void main(String args[]) {
int i=101;
while(i <200) {
boolean f=true;
int j=2;
bigbug9002 2009-07-24
  • 打赏
  • 举报
回复
之间
bigbug9002 2009-07-24
  • 打赏
  • 举报
回复
public class testwhile1{
public static void main(String args[]) {
int i=101;
while(i <200) {
boolean f=true;
int j=2;
while(j <i) {
if(i%j==0){
f=false;
break;
}
j++;
}
if(!f) {
i+=2;
continue;
}
System.out.print(" "+i);
i=i+2;
}
}
}


你贴代码时,把你的代码插入到
之间就可以了.
bigbug9002 2009-07-24
  • 打赏
  • 举报
回复
if()里面的i+=2要有,外面的i=i+2也得有才行.
kirkjason 2009-07-24
  • 打赏
  • 举报
回复
对不起,各位大大,新手发贴

public class testwhile1
{
public static void main(String args[])
{
int i=101;
while(i<200)
{
boolean f=true;
int j=2;
while(j<i)
{
if(i%j==0)
{
f=false;
break;
}
j++;
}
if(!f)
{
i=i+2;
continue;
}
System.out.print(" "+i);
}
}
}

修改了i=i+2的内容,还是出错,变成不断的循环了.
zhao_tk 2009-07-24
  • 打赏
  • 举报
回复
无语...
izard999 2009-07-24
  • 打赏
  • 举报
回复
i+=2放在if(!f)里面, 要不就死循环了
smallbear923 2009-07-24
  • 打赏
  • 举报
回复
书写风格就有很大问题。。

xlxyeyu 2009-07-24
  • 打赏
  • 举报
回复
同意一楼的,你i = i + 2放错了地方!这会造成死循环的!
xlxyeyu 2009-07-24
  • 打赏
  • 举报
回复
看着头疼!
bigbug9002 2009-07-24
  • 打赏
  • 举报
回复
你说你的程序怎么给人看啊.
if(!f) { 
i+=2;
continue;
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧