完美数来帮我看看..

package work03;

public class test009 {
    public static void main(String[] args){
        int add = 0;
        for(int a=1;a<=1000;a++){
            for(int b=1;b<=a-1;b++){
            if(a%b==0){
                add=b+add;
                if(add==a){
                    System.out.println(a+"是完美数");
                }
            }
        }
            add=0;
    }
        
    }
}




我这个完美数最后怎么会有个24,求指点

因为24在执行到1,2,3,4,6,8的时候会出现add = a的情况。所以应该结束再统计

img

示例----------------------------------

public class test009 {
    public static void main(String[] args){
        int add = 0;
        for(int a=1;a<=1000;a++){
            for(int b=1;b<=a-1;b++){
            if(a%b==0){
                add=b+add;
            }
            if (b == a-1){
                if(add==a){
                    System.out.println(a+"是完美数");
                }
            }
        }
            add=0;
    }
    }
}