这个错在哪里,该怎么解决

img


public class Test{
public static void main(String[] args) {
int i,j,sum=0;
for(i=1;i<1000;i++)
for(j=0;j<i;j++){
if(i%j==0){
sum=sum+j;
}
if(sum==i){
System.out.println("完数:"+i);
}
}
}
}

看报错说by zero,说明有地方有分母为零了,再看报错后一行,java:6,也就是你的第六行,找到问题了i%j,第六行往上看,j初值0,所以问题就在这里,让j从1开始就对了

不要怕报错,学会自己看报错会对你很有帮助的!慢慢来就行了,抽空下个eclipse或者idea,记事本里写有时候不方便