顺序表:现有一学生情况一览表,要求依次输入学生信息并依次显示,假设元素个数不超过100。...

本文介绍了一个简单的顺序表接口及其实现类,并通过一个示例程序展示了如何使用顺序表来存储和输出学生信息。文章包括了顺序表的基本操作如插入、获取元素等,并通过一个具体的例子说明了其用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package seq;

interface List
{
    public void insert(int i,Object obj)throws Exception;
    public Object getData(int i)throws Exception;
    public int size();
}
class SeqList implements List
{
    final int defaultSize=10;
    int maxSize;
    public int size;
    Object [] listArray;
    private void initiate(int sz)
    {
        maxSize=sz;
        size=0;
        listArray=new Object[sz];
    }
    public SeqList(){
        initiate(defaultSize);
    }
    
    public SeqList(int size){
        initiate(size);
    }
    public void insert(int i,Object obj)throws Exception
    {
        if(size==maxSize)
        {
            throw new Exception("顺序表已满无法插入!");
        }
        if(i<0||i>size)
            throw new Exception("参数错误!");
        for(int j=size;j>i;j--)
            listArray[j]=listArray[j-1];
        listArray[i]=obj;
        size++;
    }
        public Object getData(int i)throws Exception
        {
            if(i<0||i>=size)
            {
                throw new Exception("参数错误!");
            }
            return listArray[i];
        }
        public int size()
        {return size;}
}
class Studentt{  
    private String number;  
    private String name;  
    private String sex;  
    private int age;  
    Studentt(String number,String name,String sex,int age){  
        this.number = number;  
        this.name = name;  
        this.sex = sex;  
        this.age = age;  
    }  
    public String getNumber(){  
        return number;  
    }  
    public String getName(){  
        return name;  
    }  
    public String getSex(){  
        return sex;  
    }  
    public int getAge(){  
        return age;  
    }  
}  
//把学生对象存入顺序表并输出  
public class SeqListTest2 {  
  
    public static void main(String[] args) {  
        SeqList seqList = new SeqList(100);
        Studentt []student = new Studentt[3];  
        student[0] = new Studentt("20151236","李娜","男",20);  
        student[1] = new Studentt("20151233","李思","女",21);  
        student[2] = new Studentt("20150125","王璇","女",22);  
        try{  
            for(int i=0;i<student.length;i++){  
                seqList.insert(i,student[i]);
            }  
            for(int j=0;j<seqList.size;j++){
                Studentt st = (Studentt)seqList.getData(j);  
                System.out.println(st.getNumber()+" "+st.getName()+" "  
                        +st.getSex()+" "+st.getAge());  
            }  
        }catch(Exception e){  
            System.out.println(e.getMessage());  
        }  
    }  
  
}  

 

转载于:https://www.cnblogs.com/liao-pxsoftware15/p/8626847.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值