本文主要目的是编写一个StudenTest对象,实现一下几个功能: 创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。 一:打印出3年级(state值为3)的学生信息。 二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
时间: 2024-09-09 12:13:52 浏览: 42
1_lower7y7_定义一个包含学生信息(学号_成绩)的顺序表和链表(二选一)_姓名_使其具有如下功能_
5星 · 资源好评率100%
首先,我们来编写一个`Student`类作为基础模型,包含学号、年级和成绩属性。然后我们会创建一个名为`StudentTest`的类,实现所需的功能。
```java
// 定义Student类
public class Student {
private int id;
private int grade;
private double score;
public Student(int id, int grade, double score) {
this.id = id;
this.grade = grade;
this.score = score;
}
// 获取和设置方法
public int getId() { return id; }
public int getGrade() { return grade; }
public double getScore() { return score; }
@Override
public String toString() {
return "学号:" + id + ", 年级:" + grade + ", 成绩:" + score;
}
}
// 创建StudentTest类
import java.util.ArrayList;
import java.util.Collections;
public class StudentTest {
public static void main(String[] args) {
ArrayList<Student> students = new ArrayList<>();
for (int i = 1; i <= 20; i++) {
int grade = (int)(Math.random() * 4) + 1; // 随机选择1-4年级
double score = Math.random() * 100; // 随机成绩范围0-100
students.add(new Student(i, grade, score));
}
// 打印3年级学生信息
System.out.println("三年级学生信息:");
for (Student student : students) {
if (student.getGrade() == 3) {
System.out.println(student);
}
}
// 冒泡排序并遍历所有学生信息
Collections.sort(students, Comparator.comparing(Student::getScore)); // 按成绩排序
System.out.println("\n按照成绩排序后的学生信息:");
for (Student student : students) {
System.out.println(student);
}
}
}
```
这个程序首先创建了一个包含20个学生的列表,每个学生都有随机分配的年级和成绩。接着,它会筛选出3年级的学生并打印他们的信息。最后,通过冒泡排序算法将学生按成绩降序排列,并遍历打印排序后的所有学生信息。
阅读全文