大一下导出作业片段题学生各科平均分排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class StudentComparable {
public static void main(String[] args) {
// 创建学生student集合list
List list = new ArrayList();
// 加入学生信息
list.add(new Student(1001, “Jack”, 80d, 75d, 82d));
list.add(new Student(1002, “Bruce”, 60d, 55d, 72d));
list.add(new Student(1003, “Gates”, 90d, 82d, 96d));

	// 调用 Collections 的 sort 方法对学生集合进行排序
	Collections.sort(list);
	Collections.reverse(list); // 默认为从小到大排序,所以需要倒序操作

	// 利用 NumberFormat 对分数进行格式化,所有平均分强制保留一位小数
	NumberFormat nf = NumberFormat.getInstance();
		nf.setMaximumFractionDigits(1);
	nf.setMinimumFractionDigits(1);		

for (Student stu : list) {
System.out.println(stu.getId() + " " + stu.getName() + " " + nf.format(stu.getAverage()));
}
}
}

// 学生类,实现comparable接口
class Student implements Comparable {

private Integer id; // 学号
private String name; // 姓名
private Double math; // 数学成绩
private Double english; // 英语成绩
private Double java; // java成绩

// 构造方法,根据学号、姓名、数学、英语、java快速创建学生对象
public Student(Integer id, String name, Double math, Double english, Double java) {
	this.id = id;
	this.name = name;
	this.math = math;
	this.english = english;
	this.java = java;
}

public Integer getId() {
	return id;
}

public void setId(Integer id) {
	this.id = id;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

public Double getMath() {
	return math;
}

public void setMath(Double math) {
	this.math = math;
}

public Double getEnglish() {
	return english;
}

public void setEnglish(Double english) {
	this.english = english;
}

public Double getJava() {
	return java;
}

public void setJava(Double java) {
	this.java = java;
}

// getAverage方法,获取数学、英语、java三门课的平均成绩
	public Double getAverage() {
		return (math + english + java) / 3;
}
// 根据平均分进行比较,大于返回1,小余返回-1,等于返回0
@Override
public int compareTo(Student stu) {
	if (this.getAverage() > stu.getAverage()) {
		return 1;
	}
	if (this.getAverage() < stu.getAverage()) {
		return -1;
	}
	return 0;
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL学生成绩管理系统是一种基于MySQL数据库的系统,用于管理学生的各项成绩和相关信息。该系统的主要功能包括学生信息录入、成绩录入、成绩查询和统计分析等。 在学生信息录入功能中,我们可以通过输入学生的基本信息,如学号、姓名、性别、年龄等,并将这些信息存储到数据库中。同时,还可以设置学生的其他信息,如班级、专业等。 在成绩录入功能中,我们可以输入学生的各个科目的成绩,并将其与相应的学生绑定。系统将自动将成绩信息存储到数据库中,便于后续的查询和分析。 成绩查询功能可以根据学号或者姓名等关键字进行模糊查询,以提供更加灵活的查询方式。查询结果可以以列表或者图表的形式展示,方便用户进行浏览和查看。 统计分析功能可以对学生的成绩进行统计和分析。系统可以根据各个科目的成绩,生成相应的统计报表,包括平均成绩、最高分、最低分等,并可以对这些数据进行排序和筛选,以便更好地进行成绩分析。 除了上述功能外,该系统还可以添加其他功能,如学生信息的修改、删除和导出等。同时,可以加入权限管理功能,以便对系统进行访问和使用的权限控制,保证数据的安全性。 总之,MySQL学生成绩管理系统是一个功能强大、易于使用的系统,能够高效地管理学生的成绩和相关信息,并提供灵活的查询和分析功能,为教师和学生提供便利的成绩管理工具。 ### 回答2: MySQL 学生成绩管理系统是一个用于管理学生的学习成绩的系统。这个系统可以帮助学校和教师更有效地记录、分析和管理学生的成绩信息。 首先,这个系统需要有一个学生信息表,包括学生的姓名、学号、性别、班级等基本信息。其次,还需要一个课程信息表,记录了所有的课程名称和对应的课程编号。然后,还需要一个成绩表,用来存储每个学生在每门课程中的具体成绩。 为了实现这个系统,我们可以使用MySQL数据库来创建上述三个表,分别命名为“student_info”、“course_info”和“score”。在“student_info”表中,我们可以定义学生的姓名为VARCHAR类型,学号为INT类型,性别为ENUM类型,班级为VARCHAR类型来存储学生的基本信息。在“course_info”表中,我们可以定义课程名称为VARCHAR类型,课程编号为INT类型来存储课程的信息。在“score”表中,我们可以定义学号为INT类型,课程编号为INT类型,分数为FLOAT类型来存储学生的成绩。 通过使用MySQL的查询语句,我们可以实现对学生信息、课程信息和成绩信息的查询、修改和删除操作。比如,我们可以通过学生的学号查询学生的基本信息和成绩信息,可以通过课程编号查询某门课程的学生成绩,还可以通过学生的姓名查询学生在所有课程中的成绩情况等等。 总之,MySQL 学生成绩管理系统可以有效地记录、分析和管理学生的学习成绩,为学校和教师提供了便利和支持。同时,通过这个大作业,我们也可以更深入地了解数据库管理系统的运作和应用。 ### 回答3: MySQL学生成绩管理系统是一个用于管理学生成绩信息的系统,主要通过MySQL数据库进行数据存储和操作。这个系统主要包含学生信息管理、课程信息管理、成绩信息管理和查询等模块。 学生信息管理模块主要用于录入、编辑和删除学生的基本信息,包括学生学号、姓名、性别、年龄、班级等。可以通过该模块方便地对学生信息进行管理和维护。 课程信息管理模块主要用于录入、编辑和删除课程的基本信息,包括课程代码、课程名称、授课教师等。通过该模块可以方便地管理课程信息,便于后续对学生成绩的统计和分析。 成绩信息管理模块是系统的核心模块,主要用于录入学生的成绩信息。可以通过该模块方便地为每个学生录入不同课程的成绩,并进行统计分析。可以根据学生学号、课程代码等进行成绩的录入和修改。 查询模块是为了方便用户查询学生的成绩信息而设置的。可以通过学生的学号或姓名进行查询,并显示该学生的所有成绩信息。同时,还可以根据课程代码查询每门课的平均成绩、及格率等统计数据,方便对学生和课程进行评估。 通过MySQL学生成绩管理系统,可以方便地管理和维护学生的成绩信息,提供了快捷、高效的操作方式,实现了对学生和课程的全面监管和管理,对教学工作有着积极的促进作用。同时,该系统也提供了一些数据分析功能,帮助教师和学校对学生成绩进行深入分析和评估,以便提高教学质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值