设计一个Java程序,实现建立存储一组学生成绩的单向链表,链表中的节点包含学号、姓名和成绩三种数据。初始链表的数据为: 学号 姓名 成绩
时间: 2024-10-22 10:26:54 浏览: 27
设计一个简单的Java程序来实现这个需求,我们可以创建一个名为`Student`的类作为链表节点,然后创建一个`StudentList`类来管理这个单向链表。以下是关键部分的代码:
```java
// 定义一个Student节点类
class Student {
int studentId;
String name;
double score;
// 构造函数
public Student(int id, String name, double score) {
this.studentId = id;
this.name = name;
this.score = score;
}
// 返回学生的简单信息字符串
@Override
public String toString() {
return "学生ID: " + studentId + ", 姓名: " + name + ", 成绩: " + score;
}
}
// 创建StudentList类来管理链表
class StudentList {
Node head; // 链表头指针
// Inner class for the node in the list
static class Node {
Student data;
Node next;
Node(Student d) {
data = d;
next = null;
}
}
// 添加新节点到链表
void addStudent(Student student) {
Node newNode = new Node(student);
if (head == null) {
head = newNode;
} else {
Node current = head;
while (current.next != null) {
current = current.next;
}
current.next = newNode;
}
}
// 打印链表中的所有学生
void printStudentList() {
Node current = head;
while (current != null) {
System.out.println(current.data);
current = current.next;
}
}
}
public class Main {
public static void main(String[] args) {
// 初始化链表并添加数据
StudentList studentList = new StudentList();
studentList.addStudent(new Student(1, "小明", 90));
studentList.addStudent(new Student(2, "小红", 85));
studentList.addStudent(new Student(3, "小华", 95));
// 打印链表
studentList.printStudentList();
}
}
```
在这个例子中,我们首先创建了`Student`类,然后在`StudentList`类中定义了一个内部`Node`类用于表示链表节点,并实现了添加和打印功能。在`main`方法中,我们创建了一个`StudentList`实例,并添加了三个学生的数据。
阅读全文