timeSent, sub, msgNo 这三个数组,传入的时候有没有哪个是为null的?
如果有的话就能会抛出NonePointException,
如果是这样的话建议在写这类方法时要考虑传入参数的合法性

解决方案 »

  1.   

    for (int i = 0; i < timeSent.length; i++)
    {
        last = i+1;
        if (last != timeSent.length - 1)
        {
    for (int j = 0; j < timeSent.length; j++)
    {
    last = j+1;
    if (last != timeSent.length - 1)
    {
    time = timeSent[j];
    time1 = timeSent[j + 1];
    if (time.compareTo(time1) < 0)
    {
    vtime = timeSent[j];
    timeSent[j] = timeSent[j + 1];
    timeSent[j + 1] = vtime;
    vsub = sub[j];
    sub[j] = sub[j + 1];
    sub[j + 1] = vsub;
    vNo = msgNo[j];
    msgNo[j] = msgNo[j + 1];
    msgNo[j + 1] = vNo;
    }
    }
    }
    }
    }
    这是方法里面的内容,作用是从大到小排序,提示的错误是:
    java.lang.ArrayIndexOutOfBoundsException
      

  2.   

    java中跳出for循环用什么命令呀?
      

  3.   

    应该是由于你所引用的这三个数组在定义时没有给出数组长度。你是不是这么写的:String timeSent[] = new String[];
    应该这么写:
    int length = 5;
    String timeSent[] = new String[length];
      

  4.   

    java中跳出循环用break啊。
    另外,如果你定义数组时不能确定长度,可以只给出变量的声明,等到可以确定长度时再实例化:
    String timeSent[];······int length = 5;  //length可以是你在程序运行过程中得到的值
    timeSent = newString[length];
      

  5.   

    java.lang.ArrayIndexOutOfBoundsException
    这个异常是数组索引越界,
    timeSent[j] = timeSent[j + 1];
    当j=timeSent.length-1时,既数组的最大维数时,你又+1,必然导致数组越界,修改这里吧
      

  6.   

    另外数组在使用是一定初始化既指定维数,sendtime=new XXX[count]
    xxx为数据类型。