关于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;
}
}
}

每次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;
        }
    }
}

#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,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

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

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

                        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;
                            }