刷题01时间:2022-11-24 22:59:21 正确的 public class Demo { public static void main(String[] args) { for (int i = 2;i < 1000;i++){ int sum = 0; for (int a = 1;a <= i/2;a++){ if(i % a == 0){ sum += a; } }if (i == sum){ System.out.println(i); } } }} 错误的 sum应该放在第二个for循环前面,因为最外层每循环一次,sum就要被清零,才能得出结果;放在外面ssum的值就会一直加,外循环一次它就加一遍,永远没有等于本身的值。