Java踩坑记录
简单的小问题,却暴露逻辑漏洞
1.在循环中,要注意公共变量的初始化(尤其是该公共变量需要独立的记录没层循环的信息);
2.在循环中,对用于记录循环信息的变量的操作可能存在重复(注意甄别,尤其是在单层循环内出现多次高耦合性操作,务必重视!)
public class Test {
public static void main(String[] args) {
int sum = 1;//注意:要初始化;
for(int i = 2; i < 1000; i++) {
sum=1;
for(int j = 2; j <= i / 2; j++) {
if((i % j) == 0) {
sum += j;
//若将j <= i;替换成:j < Math.aqrt(i);
//此处替换成:sum += j;
//sum += i/j; 存在重复操作
}
}
if(i == sum) {
System.out.println(i);
}
}
}
}