黑马程序员技术交流社区

标题: 求和思想,题目有点懵 [打印本页]

作者: 黑暗中漫舞    时间: 2016-7-1 23:34
标题: 求和思想,题目有点懵
5.分析以下需求,并用代码实现:
        (1) 计算15+25+35+....+1005的和
作者: as6163522    时间: 2016-7-2 03:08
  1. public class test03{
  2.        
  3.         public static void main(String[] args){
  4.           //计算15+25+35....+1005的和
  5.           
  6.            int sum;
  7.           
  8.            sum=0;
  9.           
  10.           for(int i=15;i<=1005;i+=10){
  11.           
  12.                   sum=sum+i;
  13.                   }
  14.          System.out.println(sum);
  15.        
  16.        
复制代码

作者: ImKing    时间: 2016-7-2 12:07
首先:楼上给的代码很适合,这里给出一些分析,希望有些帮助。
(1)15、25、35... 很明显这串数据是有规律的,每次在原值的基础上增加10,例如,25是在15的基础上增加10,35是在25的基础上增加10,以此类推
(2)由于结束求和的条件(或者说累加的次数)已知,所以排除while、do。。。while循环控制,分析后for循环可以很好的解决这个问题。因为可以设置变量 i 的步进值为10,这样就可以得到每次需要累加的值。
(3)注意,变量sum的定义位置要放在for循环的外面,如果是里面的话,会出现一个有趣的问题,版主可以自己尝试一下。
(4)补充:不建议使用while、do。。。while解决这道题,可能会相对麻烦一些,如果需要实现代码的话,可以留言。
      最后,希望能有所帮助。
作者: as6163522    时间: 2016-7-2 16:17
楼上你好我测试了一下sum放在for循环里面代码如下
  1. public class tt{
  2.         
  3.         public static void main(String[] args){
  4.           //计算15+25+35....+1005的和
  5.           //测试sum在for循环里面
  6.            
  7.           for(int i=15;i<=1005;i+=10){
  8.          
  9.            int sum;
  10.            
  11.            sum=0;
  12.                   sum=sum+i;
  13.                    System.out.println(sum);
  14.                   }
  15.                  
  16.         }
  17.     }
  18.         
复制代码

将sum放在for循环里面为什么不认了?输出的结果却是历遍for循环i15.25.35...1005?
作者: 夏:默秋凉    时间: 2016-7-2 23:35

public  class demo5
{
        public  static void main(String[] args)
        {
                int sum = 0;//保存总和
                //初始化i为15,循环结束条件设为1005,每次在原来的数值上累加10
                for (int i = 15;i<=1005 ;i += 10 )
                {       
                        sum += i;
                        //将每一步的求和都打印出来
                        System.out.print("sum = "+sum+",\t");
                }
                System.out.print("输出总和sum = "+sum);
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2