java吧 关注:1,253,637贴子:12,742,459
  • 5回复贴,共1

吧友们,这个插入方法怎么老是报错

只看楼主收藏回复



想用顺序表写一个插入方法,吧友们帮我看看哪里错了,代码发在楼下


IP属地:湖南1楼2024-10-05 09:21回复
    测试类
    package jsj.hhtc.ds.ILinearlist.test;
    import jsj.hhtc.ds.ILinearlist.SeqList;
    public class TestSeqList2 {
    public static void main(String[] args) {
    SeqList<Integer> seqlist = new SeqList<Integer>(Integer.class, 10);
    printseq(seqlist);
    seqlist.insert(1,10);
    seqlist.insert(3,20);
    seqlist.insert(1,30);
    seqlist.insert(1,40);
    seqlist.insert(4,50);
    printseq(seqlist);
    }
    private static void printseq(SeqList<Integer> seqlist) {
    if(seqlist.getSize()<1){
    System.out.println("没有任何元素");
    return;
    }
    System.out.println("顺序线性表中的元素如下:");
    for(int i=1;i<=seqlist.getSize();i++){
    Integer e = seqlist.getData()[i-1];
    System.out.print(e+" ");
    }
    System.out.println();
    }
    }


    IP属地:湖南2楼2024-10-05 09:22
    回复
      主类SeqList的插入方法,接口里面已经写了该方法,主类里面还有好几个其他方法,测试都可以通过就不发了
      public boolean insert(int index, E item) {
      //n个元素,插入位置可以在最后一个元素之后,即插入合法位置是1至n+1
      if(index<1||index>size)
      {throw new IndexOutOfBoundsException("Index:"+index+",Size:"+size);}
      if(!isFull()){
      for (int j =size+1;j>=index;j--)
      {
      data[j+1]=data [j];
      }
      data[index]=item;
      size++;
      return true;
      }else
      return false;
      }


      IP属地:湖南3楼2024-10-05 09:25
      回复
        哭死,国庆不好好玩,问些弱鸡问题。这提示不都告诉你了么,67行存在数组下标越界,还问呢,是在看不懂百度翻译一下,或者学习一下怎么打断点啊


        IP属地:广东来自Android客户端5楼2024-10-05 12:55
        收起回复
          转行rust


          IP属地:吉林来自Android客户端6楼2024-10-05 15:19
          回复