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

publicclasszhishu{publicstaticvoidmain(Stringargs[]){for(inti=101;i<200;i+=2){boolean... 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++?
展开
 我来答
sun_affection
2009-11-13 · 超过18用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:50.7万
展开全部
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,是不是真的是质数。如果不是,输出它的值。当然,结果应该是空吧 ..应该是...好长时间没玩这个了。。
祎谷秋0io580
2009-11-13 · 超过24用户采纳过TA的回答
知道答主
回答量:142
采纳率:100%
帮助的人:59.3万
展开全部
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(质数)
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx800203
2009-11-13 · TA获得超过126个赞
知道答主
回答量:158
采纳率:0%
帮助的人:0
展开全部
不是你说的那个意思 一个大循环套一个小循环 外面的大循环根据i判断 里面的小循环根据j来判断 外面的大循环每执行一次 里面的小循环都要整个循环全执行一遍。
例如:
for(int i=101;i<200;i+=2)------------------i=101
{
boolean f = true;-----------------------f=true
for(int j=2;j<i;j++)---------相当于for(int j=2;j<101;j++)
{
if(i%j==0)-------------------相当于if(101%2==0)显然不满足条件
{ if里面代码不执行,大循环不执行 i
f =false; 还是等于101,小循环继续执行j++
break; 直到判断到j大于了101后或101%j==0
} 成立后走到break跳出小循环。
然后大循环执行下一步.如此反复
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JimiXu
2009-11-13 · TA获得超过410个赞
知道小有建树答主
回答量:1010
采纳率:0%
帮助的人:0
展开全部
写的太乱了,既然是质数,为什么要从2开始呢?从3开始不是更好?还有,终点用sqrt(i)比j<i来终止扫描效率高的多。程序太乱,建议你分出个函数来判断某个数是不是质数,返回Boolean类型的就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
菠萝小子
2009-11-13 · TA获得超过2365个赞
知道小有建树答主
回答量:1912
采纳率:50%
帮助的人:832万
展开全部
i跟j取余==0
执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sololive
2009-11-13 · TA获得超过394个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:111万
展开全部
你理解的很正确,
j++ 也就是 j = j+1 或者 j += 1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式