以循环来写
public static void main(String [] args){
for(int i = 2;i < 1000;i++){
int sum=1;
for(int j = 2;j <=i/2;j++){
if(i % j == 0){
sum += j;
}
}
if(i == sum){
System.out.println(i+"是完数");
}
}
}
以函数来写
public static void main(String [] args){
for (int num = 2; num < 1000; num++) {
if (isPerfect(num)){
System.out.printf("%5d");
}
}
}
private static boolean isPerfect(int num) {
int sum = 1;
for (int i = 2; i <= num/2; i++) {
if(num%i == 0){
sum += i;
}
}
return sum==num;
}