请神看一下“java的求1000以内的完数”这个程序的问题,怎么修改?
花括号不对,第一个FOR循环在第七行就结束了,没有实际意义。第二个FOR循环中没有花括号,所以会在第七行报错。由于2个FOR循环都没有作用,所以后面的IF也没意义。还有就是I值应该从2开始取,为1时由于J为空,I==COUNT,会把I算上的。修改后应该是这样:
public class Example6 {
public static void main(String args[]) {
int i,j,count;
for(i=2;i<=1000;i++){
count=1;
for(j=2;j<=i/2;j++){
if(i%j==0){
count=count+j;
}
}
if(i==count){
System.out.println("i="+i);
}
}
}
}