java用顺序表实现学生信息的管理: 学生类(Student):学号(no)、姓名(name)、分数(double),对学生信息进行存取、插入、删除、查找操作。 提示: (1)接口LinearList (2)类SeqList (3)类Student:
时间: 2024-03-21 20:36:50 浏览: 19
Java可以使用顺序表来实现学生信息的管理。首先,我们需要定义一个学生类(Student),包含学号(no)、姓名(name)和分数(score)三个属性。然后,我们可以创建一个接口LinearList来定义顺序表的基本操作,如存取、插入、删除和查找。最后,我们可以创建一个类SeqList来实现接口LinearList,并在其中实现具体的操作。
下面是一个示例代码:
```java
// 学生类
class Student {
private int no;
private String name;
private double score;
public Student(int no, String name, double score) {
this.no = no;
this.name = name;
this.score = score;
}
// getter和setter方法省略
@Override
public String toString() {
return "学号:" + no + ",姓名:" + name + ",分数:" + score;
}
}
// 接口LinearList
interface LinearList {
void add(Student student); // 存取学生信息
void insert(int index, Student student); // 插入学生信息
void remove(int index); // 删除学生信息
Student get(int index); // 获取学生信息
}
// 类SeqList
class SeqList implements LinearList {
private Student[] students; // 存储学生信息的数组
private int size; // 当前存储的学生数量
public SeqList(int capacity) {
students = new Student[capacity];
size = 0;
}
@Override
public void add(Student student) {
students[size++] = student;
}
@Override
public void insert(int index, Student student) {
if (index < 0 || index > size) {
throw new IndexOutOfBoundsException("插入位置超出范围");
}
for (int i = size; i > index; i--) {
students[i] = students[i - 1];
}
students[index] = student;
size++;
}
@Override
public void remove(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException("删除位置超出范围");
}
for (int i = index; i < size - 1; i++) {
students[i] = students[i + 1];
}
students[size - 1] = null;
size--;
}
@Override
public Student get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException("获取位置超出范围");
}
return students[index];
}
}
// 示例使用
public class Main {
public static void main(String[] args) {
SeqList seqList = new SeqList(10);
// 添加学生信息
seqList.add(new Student(1, "张三", 80.5));
seqList.add(new Student(2, "李四", 90.0));
seqList.add(new Student(3, "王五", 75.5));
// 插入学生信息
seqList.insert(1, new Student(4, "赵六", 85.0));
// 删除学生信息
seqList.remove(2);
// 获取学生信息
Student student = seqList.get(0);
System.out.println(student);
}
}
```