泛型与集合框架--随机点名小程序
时间: 2023-10-23 15:08:46 浏览: 120
好的,让我们来一起编写一个随机点名的小程序,使用到泛型和集合框架。
首先,我们需要定义一个学生类,包含学生的姓名和学号:
```java
public class Student {
private String name;
private String id;
public Student(String name, String id) {
this.name = name;
this.id = id;
}
public String getName() {
return name;
}
public String getId() {
return id;
}
}
```
接下来,我们可以使用一个泛型类来表示班级,其中包含了所有的学生对象:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Class<T extends Student> {
private List<T> students;
public Class() {
students = new ArrayList<>();
}
public void addStudent(T student) {
students.add(student);
}
public T getRandomStudent() {
Random random = new Random();
int index = random.nextInt(students.size());
return students.get(index);
}
}
```
在这个泛型类中,我们使用了一个 ArrayList 来保存所有的学生对象,然后通过 getRandomStudent 方法随机返回一个学生对象。
最后,我们可以编写一个测试类来模拟随机点名的过程:
```java
public class Test {
public static void main(String[] args) {
Class<Student> class1 = new Class<>();
class1.addStudent(new Student("张三", "001"));
class1.addStudent(new Student("李四", "002"));
class1.addStudent(new Student("王五", "003"));
System.out.println("随机点名结果:");
Student student = class1.getRandomStudent();
System.out.println(student.getName() + " " + student.getId());
}
}
```
在这个测试类中,我们创建了一个班级对象 class1,并添加了三个学生对象。然后通过调用 getRandomStudent 方法随机返回一个学生对象,并输出其姓名和学号。
这就是一个简单的随机点名小程序,使用了泛型和集合框架来实现。
阅读全文