答案:学生成绩统计系统通过Student和GradeSystem类实现信息录入、总分计算、排名展示等功能,结合集合与流操作完成数据处理,并提供命令行界面进行交互,支持扩展如文件持久化和GUI优化。

在Java中开发学生成绩统计系统
开发一个学生成绩统计系统是Java初学者常见的实践项目,它涵盖了类设计、集合操作、输入输出处理以及基本的逻辑控制。以下是实现该系统的核心思路和步骤。
明确系统需要实现的基本功能:
使用面向对象的方式设计两个主要类:
立即学习“Java免费学习笔记(深入)”;
Student 类:封装学生数据
public class Student {
private String id;
private String name;
private double math;
private double english;
private double computer;
<pre class='brush:java;toolbar:false;'>public Student(String id, String name, double math, double english, double computer) {
this.id = id;
this.name = name;
this.math = math;
this.english = english;
this.computer = computer;
}
// 计算总分
public double getTotal() {
return math + english + computer;
}
// 计算平均分
public double getAverage() {
return getTotal() / 3;
}
// Getter 方法(必要时可添加 setter)
public String getName() { return name; }
public String getId() { return id; }
public double getMath() { return math; }
public double getEnglish() { return english; }
public double getComputer() { return computer; }}
本文档主要讲述的是fortran语言语法;FORTRAN是世界上最早出现的高级编程语言,是工程界最常用的编程语言,它在科学计算中(如航空航天、地质勘探、天气预报和建筑工程等领域)发挥着极其重要的作用。经过40多年的发展,伴随着FORTRAN语言多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统几乎具备了VC、VB的所有特点,如图形界面编程、数据库等。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
0
GradeSystem 类:管理学生列表和统计功能
import java.util.*;
<p>public class GradeSystem {
private List<Student> students;</p><pre class='brush:java;toolbar:false;'>public GradeSystem() {
students = new ArrayList<>();
}
// 添加学生
public void addStudent(Student student) {
students.add(student);
}
// 按总分排序并显示排名
public void showRanking() {
students.stream()
.sorted((a, b) -> Double.compare(b.getTotal(), a.getTotal()))
.forEach(s -> System.out.printf("姓名: %s, 总分: %.2f, 平均: %.2f%n",
s.getName(), s.getTotal(), s.getAverage()));
}
// 统计班级整体情况
public void showClassStats() {
if (students.isEmpty()) {
System.out.println("暂无学生数据");
return;
}
double totalScore = students.stream().mapToDouble(Student::getTotal).sum();
double avgClass = totalScore / students.size();
OptionalDouble max = students.stream().mapToDouble(Student::getTotal).max();
OptionalDouble min = students.stream().mapToDouble(Student::getTotal).min();
System.out.printf("班级人数: %d%n", students.size());
System.out.printf("班级平均总分: %.2f%n", avgClass);
System.out.printf("最高总分: %.2f%n", max.orElse(0));
System.out.printf("最低总分: %.2f%n", min.orElse(0));
}
// 查询学生
public void findStudentByName(String name) {
students.stream()
.filter(s -> s.getName().equals(name))
.findFirst()
.ifPresentOrElse(
s -> System.out.printf("找到学生: %s, 数学:%.2f, 英语:%.2f, 计算机:%.2f%n",
s.getName(), s.getMath(), s.getEnglish(), s.getComputer()),
() -> System.out.println("未找到该学生")
);
}}
编写 main 方法测试系统功能:
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
GradeSystem system = new GradeSystem();
<pre class='brush:java;toolbar:false;'> while (true) {
System.out.println("\n--- 学生成绩统计系统 ---");
System.out.println("1. 添加学生");
System.out.println("2. 显示排名");
System.out.println("3. 查看班级统计");
System.out.println("4. 查询学生");
System.out.println("5. 退出");
System.out.print("请选择操作: ");
int choice = scanner.nextInt();
scanner.nextLine(); // 吸收回车
switch (choice) {
case 1:
System.out.print("姓名: "); String name = scanner.nextLine();
System.out.print("学号: "); String id = scanner.nextLine();
System.out.print("数学成绩: "); double m = scanner.nextDouble();
System.out.print("英语成绩: "); double e = scanner.nextDouble();
System.out.print("计算机成绩: "); double c = scanner.nextDouble();
system.addStudent(new Student(id, name, m, e, c));
System.out.println("学生添加成功!");
break;
case 2:
system.showRanking();
break;
case 3:
system.showClassStats();
break;
case 4:
System.out.print("输入要查询的学生姓名: ");
String queryName = scanner.nextLine();
system.findStudentByName(queryName);
break;
case 5:
System.out.println("再见!");
return;
default:
System.out.println("无效选择,请重试。");
}
}
}}
可在基础版本上增加以下功能提升实用性:
基本上就这些。通过这个项目可以很好地锻炼 Java 基础语法、OOP 设计和集合框架的使用能力。
以上就是在Java中如何开发学生成绩统计系统的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号