大家看看下面的程序,    求1000以内的完数.
运行结果是空,sum变量在for循环外初始化为0.class WanShu
{      public static void main(String args[])  
   {
int sum=0,i,j;       for(i=1;i<=1000;i++) 
       { 
           for(j=1;j<i;j++) 
           {               if(i%j==0)
                  sum=sum+j;
              }           if(sum==i)           System.out.println("完数:"+i);        }  
}}而在for语句中初始化,即可求出完数.如下:
class WanShu
{      public static void main(String args[])  
   {
int sum=0,i,j;       for(i=1;i<=1000;i++) 
       { 
           for(j=1,sum=0;j<i;j++) 
           {               if(i%j==0)
                  sum=sum+j;
              }           if(sum==i)           System.out.println("完数:"+i);        }  
}
}请问,这是什么原因.   谢谢