各位大虾。。 小弟我初学java 用的开发工具是eclipse 保存的时候没有报错 运行的时候就出错了 
提示了下面一段话:
java.lang.ArrayIndexOutOfBoundsException: 1000
at ab.main(ab.java:16)
Exception in thread "main" 请问是怎么回事啊???我编写的代码是:
public class  ab
{
public static void main(String[] args) 
{
    int i,j,k=0,u=0;
    int[] s=new int[1000];
    for(i=1;i<=1000;i++)
    {
        for(j=1;j<=i;j++)
        {
            if(i%j==0)
            {
                s[k]=j;
                k++;
                u=u+s[k];
            }
        }
        if(i==u)
            System.out.print(i+" ");
    }
}
}

解决方案 »

  1.   

    数组下标从0开始,到Array.length - 1 结束,故你for循环下标i < 1000才对。
    ArrayIndexOutOfBoundsException是运行时异常,故在保存编译时一切正常,而在运行时拋异常!
      

  2.   

    把数组S改成的长度改成1001 也还是出现这样的错误啊
    K=0 s[k]是从0开始啊!
      

  3.   

    把这句for(i=1;i <=1000;i++) 改成
    i<1000就行了
      

  4.   

    ArrayIndexOutOfBoundsException: 数据越界说的很清楚了
      

  5.   

    参考:
          public static void main(String[] args)
    {
        int i,j;
        for(i=1;i<=1000;i++)
        {
         int u = 0;
            for(j=1;j<i;j++)
            {
                if(i%j == 0)
                {
                    u += j;
                }
            }
            if(i == u)
                System.out.print(i + " ");
        }