Java中输出1000内的完美数,为什么和变量sum必须定义在for内才能正确输出?定义在for前就什么也不会输出

这是一个正确的和一个错误的对比。求过来人带带我!... 这是一个正确的和一个错误的对比。求过来人带带我! 展开
 我来答
gp_ch
2017-11-02 · TA获得超过690个赞
知道小有建树答主
回答量:571
采纳率:59%
帮助的人:143万
展开全部
/*
    定义在for外,
    第一次循环,当i = 2 时,内层循环结束时,sum的值是 1
    第二次循环,当i = 3 时,内层循环结束时,sum的值是 2
    第三次循环,当i = 4 时,内层循环结束时,sum的值是 5
    sum的值和i的值不会相等,越往后,越不会相等,因为,i 每次增加 1,
    而sum只会递增不会,所以不会被输出。
    
    
    简单说,当给定一个数字 n 判断 n 是不是完美数,只需要用取 n 的公约数,与其它数字无关,
    所以,定义在for里面就是为了每次循环开始的时候,把 sum 的值清空,也就是这个sum与前面的数字无关了
    
*/
为晴瑰D
2017-11-02 · TA获得超过336个赞
知道小有建树答主
回答量:266
采纳率:52%
帮助的人:173万
展开全部
for的意思是循环执行,你把它里面,就会被多次的赋值为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式