java完数的代码

classLesson{publicstaticvoidmain(String[]args){inta,b,sum;sum=0;for(a=1;a<=1000;a++){... class Lesson
{
public static void main(String[] args)
{
int a,b,sum;
sum=0;
for(a=1;a<=1000;a++){
for(b=1;b<a;b++){
if(a%b==0){
sum=sum+b;
}
}
if(sum==a){
System.out.println(sum);
}
sum = 0;
}
}
}
为什么sum要清零。。sum = 0;这句到底是在干嘛。。。
展开
 我来答
etxero
推荐于2017-09-14 · TA获得超过199个赞
知道答主
回答量:55
采纳率:0%
帮助的人:77.7万
展开全部
public static void main(String[] args) {
int a, b, sum;
sum = 0;
for (a = 1; a <= 1000; a++) {
for (b = 1; b < a; b++) {
if (a % b == 0) {
// 此处用sum去累加了 如 sum =1 ,b =2, 则sum = 1 + 2;
sum = sum + b;
}
}
if (sum == a) {
System.out.println(sum);
}
// 如果这里不重置清零,则上方sum = sum + b; 这行语句会将上一次值累加上去,就不是我们想要的值了
sum = 0;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式