永发信息网

java新手菜鸟问个问题用for循环写出1+3+5+7...+99的值

答案:6  悬赏:30  手机版
解决时间 2021-02-26 00:19
  • 提问者网友:放下
  • 2021-02-25 20:39
public class TestFor {
public static void main(String[] args) {
int i = 0;
for(int j = 1; j <= 99; j += 2) {
i += j;
}
System.out.println("i=" + i);
}
}
为什么当 j<=99 的时候 i=2500 是正确的 但是当 j <=5 时 i 却只等于9 应该是25才对吧 怎么回事哪到底哪错了啊??而且 当 j<=4时 i 也是等于9
最佳答案
  • 五星知识达人网友:刀戟声无边
  • 2021-02-25 21:24
public class TestFor {
public static void main(String[] args) {
int i = 0;
for(int j = 1; j <= 99; j += 2) {
i += j;
System.out.println("j="+j+"时i的值:" + i);
}
System.out.println("运行完成i的值:" + i);
}
}
照这样运行结果 j<=4和 j<=5结果不一样勒 j=4时不执行跳过了,按照你的条件你每次j的值自加2,故从1算起来,只执行了1,3,5,7,9...所以4没被执的 j<=5时并且i等于9是正确的。
全部回答
  • 1楼网友:何以畏孤独
  • 2021-02-26 02:23
i<=5时等于9; i<=4的时候应该等于4才对; 建议楼主可以仔细看看for循环流程 for循环流程如下: 1. int j=1;出示化语句,只执行一次; 2. j<=99;逻辑判断语句,如果条件成立,执行方法体内的语句,如果不成立跳出循环 3. j+=2;第二句判断逻辑成立执行方法体内的语句后执行该语句,然后转到2继续执行 希望对你有帮助!
  • 2楼网友:雪起风沙痕
  • 2021-02-26 02:01
不如改成这样 for(int f = 1 ; f <= 99 ; f = f + 2) { result += f; }
  • 3楼网友:痴妹与他
  • 2021-02-26 00:21
你for循环中的条件为 j+=2; 当for循环第一次执行 j=1, 第二次循环时 j=3,第三次循环的时候 j=5,第四次循环的时候j=7 ,因为 条件是 j<=5所以 从第三次循环过后不在执行for循环 故i=9, 所以:j=1+3+5=9; 当条件 j<=4 的时候 结果不可能为9, 应该是:j=1+3=4;因为只循环了两次,呵呵,还算详细吧, 希望对你有帮助。
  • 4楼网友:孤老序
  • 2021-02-25 23:56
实现思路:从1开始加,每次循环相加的数为原来的值加上2,最大值是99,之后结束循环即可: public class Sum { public static void main(String[] args) { int count = 0; for(int i=1;i<=99;i=i+2) { sum += i; } System.out.println(count); } }
  • 5楼网友:举杯邀酒敬孤独
  • 2021-02-25 22:41
public class TestFor { public static void main(String[] args) { int i = 0; for(int j = 1; j <= 99; j += 2) { i += j; System.out.println("j="+j+"时i的值:" + i); } System.out.println("运行完成i的值:" + i); } } 照这样运行结果 j<=4和 j<=5结果不一样勒 j=4时不执行跳过了,按照你的条件你每次j的值自加2,故从1算起来,只执行了1,3,5,7,9...所以4没被执的 j<=5时并且i等于9是正确的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯