标题:java for循环不解之处
只看楼主
sdkt881217
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-12-13
结帖率:66.67%
 问题点数:0 回复次数:5 
java for循环不解之处
这是一道作业题的答案  题目是这样的 编写程序,用一个for循环计算1+3+5+7+....+99的值,并输出计算结果



public class T{
   
    public static void main(String args[]){
        long r1 = 0;
      for(int i = 1 ; i <= 99 ; i=i+2){
          r1 += i; //不懂的地方就是这里 我知道他的意思是r1=r1+i 但是不是应该改成r1= i吗应为这样的结果才符合啊 例如我套进去r1 += i (假设是循环到了第二次) 得出的结果便是r1=1+3 那r1的值不就是跟1 3 5 7.。。这些数不符啊   如果r1=i的话 循环到第二次不就是r1= 3 那样不久跟1 3 5 7 8一样了吗》?
}
    System.out.print("r1="+ r1);// 还有这里的结果表述出来的为什么不是一个r1的值 而是那99个r1的值得总和
}
}
搜索更多相关主题的帖子: public 编写程序 
2013-01-18 18:16
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
得分:0 
你是新手吧。。。
你一次循环一次循环的去验证  
首先for循环运行第一次  这时 i=1 i<=99  满足条件          执行 r1+=1;//这条语句是r1的值等于r1的值加上1;


循环第二次  i=3  i<=99       满足条件  执行    r1+=3;//这里的r1=r1+3;和3相加的r1是1  ,加完后的值赋给r1  这时r1=4了
运行到最后  就是从r1=1+3+5+++++99的值
不知道你看懂没/。。。。




有心者,千方百计;无心者,千难万难。
2013-01-18 19:01
sdkt881217
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-12-13
得分:0 
回复 2楼 w527705090
焕然大悟 了解明白了 但是还是有一个新手的问题System.out.print("r1="+ r1)这里求的r1的值 但是r1不是有99个结论吗? 为什么一定要取最后一个r1的值而不取别的值 帮我解答一下谢谢了!
2013-01-18 22:00
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
得分:0 
回复 3楼 sdkt881217
因为当循环运行完  
 r1的值才算完  
 r1只能存一个值
 只不过存的值在循环中不断地改变
 循环结束后 r1的值就确定了  
所以输出r1的值就是要求的值

有心者,千方百计;无心者,千难万难。
2013-01-18 22:33
lizhigushuan
Rank: 1
等 级:新手上路
帖 子:22
专家分:5
注 册:2013-1-14
得分:0 
haha ,你可以换个思维,就是从1+2+3.。。。一直到99
     那么程序就是这样的:
         int i;
         for(i=1;i<=99;i++)
{
         i+=i;
}
一直到循环结束,得到的i就是整个所以数字的和,所以只要输出最后一个i就行!!
2013-01-19 08:51
学编程啊
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:66
专家分:110
注 册:2012-7-25
得分:0 
嗯,一般都这样,慢慢来
2013-01-20 00:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-397008-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.113654 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved