java如何给顺序表赋值_用java实现顺序表报异常

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

listElem[j]=listElem[j++];

lengths--;

}

}

//查找操作

public int Indexof(Object x){

int j=0;

//遍历查找

while(j

j++;

}

if(j

return j;

}else{

return -1;

}

}

//显示操作

public void display(){

//遍历线性表

for(int i=0;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();

}

}

我搞不懂了怎么插入异常,我明明符号条件,请各位给我看下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值