Java中输出1000内的完美数,为什么和变量sum必须定义在for内才能正确输出?定义在for前就什么也不会输出
展开全部
/*
定义在for外,
第一次循环,当i = 2 时,内层循环结束时,sum的值是 1
第二次循环,当i = 3 时,内层循环结束时,sum的值是 2
第三次循环,当i = 4 时,内层循环结束时,sum的值是 5
sum的值和i的值不会相等,越往后,越不会相等,因为,i 每次增加 1,
而sum只会递增不会,所以不会被输出。
简单说,当给定一个数字 n 判断 n 是不是完美数,只需要用取 n 的公约数,与其它数字无关,
所以,定义在for里面就是为了每次循环开始的时候,把 sum 的值清空,也就是这个sum与前面的数字无关了
*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询