C#急求急求,一段基础代码求高手帮忙解答一下..................

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:20:49
public class zhishu
{
public static void main(String args[])
{

for(int i=101;i<200;i+=2)
{
boolean f = true;
for(int j=2;j<i;j++)
{
if(i%j==0)
{

f =false;
break;
}

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

能说说执行过程是怎样的吗?

for(int j=2;j<i;j++)
{
if(i%j==0)

这里的执行过程是怎样的?

是不是
第一个是 if(101%2==0)
第二个是 if(103%3==0)
第三个是 if(105%4==0)

这样吗?

就这里我很模糊
忘了说, //输出101-200内的质数

他要求输出质数 为什么这里for(int j=2;j<i;j++) 是j++?

for(int i=101;i<200;i+=2) //101..103..105.....
{
boolean f = true; //控制输出
for(int j=2;j<i;j++) //这里表示从2到i之内的J,
{
if(i%j==0) //表示能被J整除的I,这里纠正你一个错误。第一个是101/2,101/3,101/4......101/100。知道吧?先循环完里面的小循环,再循环大循环。当然,第二个是 103/2,103/3,103/4.....103/102。这样才对
{

f =false; //当可以被整除时。f=false
break; //跳出循环
}

}
if(!f){continue;} //如果f=false
System.out.println(i); //输出i的值

总体来说,这段代码的作用是判断所有的i,是不是真的是质数。如果不是,输出它的值。当然,结果应该是空吧 ..应该是...好长时间没玩这个了。。

for(int i=101;i<200;i+=2)//循环101-200之间的数
{
boolean f = true;//为变量f赋值为真
for(int j=2;j<i;j++)//循环
{
if(i%j==0)//看i对j取余是否为0
{

f =false;//为0则变量f重新赋值为假
break;//然后返回
}

}
if(!f){continue;}//如果f为真,则继续循环
System.out.println(i);//输出i(质数)<