while求1到5平方和 问题

while求1到5平方和 问题

 老师您好,这个问题 

    //定义整型变量n作为循环变量,并初始化

      int n = 1;

      //定义整型变量sum存放和,并初始化

      int sum = 0;

            //使用while循环求1到5的平方和

              while(n<=5){

                  sum += n*n;

                  n++;

              }

              //输出平方和

              System.out.println(sum);

      这样写的 对吗?   如果对,  sum += n*n;   求平方和这句为什么是这样写,不明白。麻烦了谢谢



正在回答

登陆购买课程后可参与讨论,去登陆

3回答

您好,首先根据需求来说。您这个程序是没有问题的。可以正常运行并且输出结果

其次,在java语法中+=是一个简化的写法。 例如:i+=1 完整形态是i=i+1 。那么sum += n*n 就是sum=sum+n*n啦。在实际的开发过程中也会普遍使用+=这种写法。所以希望大家在平常练习的时候也根据实际开发的情况来培养自己的编码习惯~如果我的回答解决了你的问题~请采纳哦!慕课网祝您学习愉快

流光奕然 2017-02-02 15:47:10

n=1,满足循环条件(n<=5),执行第一次循环:sum=0+1*1=1。    n++=2。

n=2,满足循环条件(n<=5),执行第二次循环:  sum=1+2*2=5。    n++=3。

n=3,满足循环条件(n<=5),执行第三次循环:  sum=1+3*3=14。  n++=4。

n=4,满足循环条件(n<=5),执行第四次循环:  sum=1+4*4=30。  n++=5。

n=5,满足循环条件(n<=5),执行第五次循环:  sum=1+5*5=55。  n++=6。

n=6,不满足循环条件(n<=5),结束循环


sum=sum+n*n,这个语句被迭代了5次。效果等效于你所说的sum=(1*1)+(2*2)+(3*3)+(4*4)+(5*5)。

提问者 慕粉1124253375 2017-01-03 09:51:20

老师您好,我的理解 1到5的平方和: sum=(1*1)+(2*2)+(3*3)+(4*4)+(5*5)。

为什么代码里面计算平方和的公式是这样的 sum=sum+n*n??

  • 姜饼 #1
    您好!您的理解是完全正确的。但是呢 :(1*1)这是第一次运行的结果,如果要使用循环的话,就必须要把这次的运算结果保留起来。所以:sum=1*1,这是第一次循环。第二次循环的时候要在第一次的结果的基础上继续累加所以是sum=sum+n*n 明白了木有呢。如果我的回答解决了你的问题~请采纳哦!慕课网祝您学习愉快!
    2017-01-03 11:31:18
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师