2 chirspual chirspual 于 2016.05.12 14:57 提问

关于While循环和Continue的问题

用这种方法输出101-200以内的质数,问题出在哪里呢?
public class Test{
public static void main(String[] args){
int i=101;
boolean f=true;
while(i<=200){
for(int j=2;j<i;j++){
if(i%j==0){
f=false;
break;

}

}

if(!f){i=i+1;continue;}
System.out.println(i);
i=i+1;
}
}
}

4个回答

qq423399099
qq423399099   Ds   Rxr 2016.05.12 15:45
已采纳

每次while循环前将f重置为true

 public class Test{
    public static void main(String[] args){
        int i=101;
        boolean f=true;
        while(i<=200){
            f=true;
            for(int j=2;j<i;j++){
                if(i%j==0){
                    f=false;
                    break;

                }

            }

            if(!f){i=i+1;continue;}
            System.out.println(i);
            i=i+1;
        }
    }
}
shenshucong520
shenshucong520   2016.05.12 15:08

boolean f = true,扔在while循环里来,你这样,第一次变为false,以后都是false了

chirspual
chirspual 我明白你的意思了,谢谢!
一年多之前 回复
shenshucong520
shenshucong520 回复chirspual: 没看懂,你现在不就是用的是while吗,那还是你想把里面那层for也要改为while?
一年多之前 回复
chirspual
chirspual 那如果一定要用While应该怎么改呢?
一年多之前 回复
CSDNXIAOC
CSDNXIAOC   2016.05.12 15:02

#include "StdAfx.h"
#include <iostream>
using namespace std;

int main(void)
{
int i=0;
for (i=0; i<100; i++)
{
if (i==0)
{
continue;
}
}

//while循环是死循环
//int j=0;

......
答案就在这里:for循环和while循环在使用continue时有所区别
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

herozhangbz
herozhangbz   2016.05.12 15:30

你在最下面还原判断条件就行了

                        int i = 101;
                            bool f = true;
                            while (i <= 200)
                            {
                                    for (int j = 2; j < i; j++)
                                    {
                                            if (i % j == 0)
                                            {
                                                    f = false;
                                                    break;
                                            }
                                    }
                                    if (f)
                                            textBox1.Text += i+Environment.NewLine;
                                    i++;
                                    f = true;
                            }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!