求解java循环代码

longa,b,c,d;for(a=1;a<99;a++){b=a*a;if(b%10==a){System.out.println(a+""+b);}}for(c=99... long a,b,c,d;
for(a=1;a<99;a++){
b=a*a;
if(b % 10 ==a){
System.out.println(a+" "+b);

}
}
for(c=99;c<999;c++){
d=c*c;
if(d % 100==c){
System.out.println(d+" "+c);
}
}

问题是:
运行起来以后,只执行了第一个for语句,没有执行第二个!
1、请问原因是什么!
2、一段代码里,同级的for循环或者其他类型的循环都是只执行第一个该类型循环吗?
展开
 我来答
tanchen1991
2013-09-24 · TA获得超过1369个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:251万
展开全部
分别回答
1、这段代码在我的电脑上能正确运行,第二个for正确执行,只不过没有一次能执行到打印的语句,原因是这900次循环中没有一次找到符合该条件的c,给你造成的错觉就是没执行,建议在第二个for循环体中加一句System.out.println(c);,你就能非常清晰的看到,第二个for语句是没闲着的。
2、如果第一个问题解决了,这个误解就自然消除了。

建议:对于编程人员而言,成长和学习中,必须掌握的一项重要的能力——排错,错误有编译出错、系统出错和程序逻辑出错。对于前两者系统(Java编译器和虚拟机)会很贴心的显示打印出并且会给你定位到具体的行数,而逻辑出错对于系统是不可控的,只有你自己排除了。最为初级的排错方法就是使用打印语句System.out.println(),怀疑哪儿不对劲就print哪儿。更高级就是debug和Junit,不过显然你还用不到的。
wang729356368
2013-09-24 · TA获得超过3236个赞
知道大有可为答主
回答量:1284
采纳率:60%
帮助的人:743万
展开全部
你这段代码不全,具体原因不太清楚,同级的for循环
会按照先后顺序进行执行的。把代码贴的全一点,更
有利于分析。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ヤマザキ266e77
2013-09-24 · TA获得超过2052个赞
知道小有建树答主
回答量:721
采纳率:0%
帮助的人:982万
展开全部
是因为你第二个循环没有一个满足条件的。。。
d % 100 结果肯定小于100
c在循环中除了第一次是99以外,之后都是100以上的,怎么可能相等呢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
您还没有取名
2013-09-24 · 超过16用户采纳过TA的回答
知道答主
回答量:67
采纳率:100%
帮助的人:43.6万
展开全部
第二个for肯定执行了,可能只是d % 100==c不满足所以没有输出,你这样验证有没有执行第二个for:
for(c=99;c<999;c++){
d=c*c;
System.out.println(“这里是第二个for循环第”+(c-98)+"次");
if(d % 100==c){
System.out.println(d+" "+c);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
b19881115
2013-09-24
知道答主
回答量:13
采纳率:0%
帮助的人:7.9万
展开全部
第二个for 循环执行了
for (c = 99; c < 999; c++) {
System.out.println("aaaaaa");
d = c * c;
if (d % 100 == c) {
System.out.println("2:" + d + " " + c);
}
}
你打印个语句 ,d % 100 == c 这个不可能为true,一直未false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
toyo_8410
2013-09-24 · 超过16用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:32.8万
展开全部
谁说没有执行第二个循环,执行了,只是你不知道而已, 你为什么不知道呢?因为, 在第二个循环中的System.out.println(d+" "+c);这语没有被执行,因为d % 100==c 在整个循环过程中,不成立。

想知道第二循环有没有执行很简单,在d=c*c;语句的下面执行一条输出语句如:System.out.println("=================");,就可以证明了,这条语句将被反复输出!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式