两个易错点:1.sum应该在每次内循环结束之后进行初始化。2.对因子之和与数本身的判断应该在内循环结束后。
public class Test9 {
public static void main(String[] args) {
int sum,i,j;
for(i = 1; i <= 1000; i++) {
sum = 0;
for(j = 1; j <= i/2; j++) {
if(i % j == 0) {
sum = sum + j;
}
}
if(sum == i) {
System.out.println(i);
}
}
}
}