为了账号安全,请及时绑定邮箱和手机立即绑定

用java实现顺序表报异常

用java实现顺序表报异常

慕先生4463397 2017-11-24 22:25:35
package 顺序表;public class SqList {    public Object[] listElem;//线性表存储空间    private int lengths;//线性表的长度    //顺序表构造函数,构造有个长度为maxSize的线性表    public SqList(int maxSize){        lengths=0;        listElem = new Object[maxSize];    }    //置空操作    public void clear(){        lengths=0;    }    //判断长度是否为0,0即是空表    public boolean isEmpty(){            if(lengths>0){                System.out.println("非空");            }            return lengths==0;    }    //取表长度,返回lengths的长度    public int length(){        return lengths;    }    //取表元素    public Object get(int i)throws Exception{        //如果不合法报异常        if(i>0 || i>lengths-1){            throw new Exception("第"+i+"个元素不存在");        }        return listElem[i];    }    //插入操作    public void insert(int i,Object x) throws Exception{        if(lengths==listElem.length){            throw new Exception("顺序表已满");        }        if(i<0 || i>lengths){            throw new Exception("插入位置不合法");        }        //从尾部往前扫        for(int j=lengths;j>i;j--){            listElem[j]=listElem[j-1];            listElem[i]=x;            lengths++;        }    }        //删除操作        public void remove(int i)throws Exception{            if(i<0 || i>lengths-1){                throw new Exception("删除位置不合法");            }                            //下标移动要出删除的i处                for(int j=i;j<lengths-1;j++){                    listElem[j]=listElem[j++];                    lengths--;                }                    }            //查找操作            public int Indexof(Object x){                int j=0;                //遍历查找                while(j<lengths && !listElem[j].equals(x)){                    j++;                }                if(j<lengths){                    return j;                }else{                    return -1;                }            }            //显示操作            public void display(){                //遍历线性表                for(int i=0;i<lengths;i++){                    System.out.println(listElem[i]);                }            }    public static void main(String[] args) throws Exception {        SqList sq=new SqList(20);                sq.insert(1,1);        sq.insert(2,8);        sq.insert(3,9);        sq.insert(4,8);        sq.insert(5,10);        sq.display();    }    }我搞不懂了怎么插入异常,我明明符号条件,请各位给我看下
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1211 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信