课程成绩统计程序pta java
时间: 2025-06-30 09:49:37 浏览: 14
### 如何用Java编写课程成绩统计程序
#### 使用场景描述
为了帮助理解如何构建一个简单的课程成绩统计程序,在此提供一段基础的 Java 实现方案。这段代码能够接收学生姓名及其对应的多门课的成绩输入,并计算平均分、最高分以及最低分。
#### 设计思路概述
创建 `Student` 类来存储学生的个人信息和各科目的分数;通过数组或其他集合结构保存多个 `Student` 对象实例,以便于管理和操作数据集;最后利用循环遍历这些对象并执行必要的统计数据处理逻辑。
#### 示例代码展示
下面是一份简化版的学生成绩管理系统源码:
```java
import java.util.ArrayList;
import java.util.List;
class Student {
private String name; // 学生名字
private List<Integer> scores = new ArrayList<>(); // 成绩列表
public Student(String n){
this.name=n;
}
public void addScore(int score){
scores.add(score);
}
public double getAverage(){
int sum=0;
for(Integer s :scores){
sum+=s;
}
return (double)sum/scores.size();
}
public int getMaxScore(){
if(scores.isEmpty()) return 0;
int max=scores.get(0);
for(Integer s:scores){
if(s>max) max=s;
}
return max;
}
public int getMinScore(){
if(scores.isEmpty()) return 0;
int min=scores.get(0);
for(Integer s:scores){
if(s<min) min=s;
}
return min;
}
@Override
public String toString(){
StringBuilder sb=new StringBuilder();
sb.append("Name=").append(name).append(", Scores=");
for(Integer i:scores){
sb.append(i).append(",");
}
sb.setLength(sb.length()-1);
return sb.toString();
}
}
public class ScoreStatistics {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
// 添加一些测试数据
Student student1 = new Student("Alice");
student1.addScore(95);
student1.addScore(87);
student1.addScore(92);
Student student2 = new Student("Bob");
student2.addScore(88);
student2.addScore(76);
student2.addScore(90);
students.add(student1);
students.add(student2);
// 输出每位同学的信息及各项统计指标
for(Student stu:students){
System.out.println(stu);
System.out.printf("Average=%.2f, Max=%d, Min=%d\n",stu.getAverage(),stu.getMaxScore(),stu.getMinScore());
}
}
}
```
上述代码实现了基本的功能需求,包括但不限于添加学生成绩记录、求取单个学生的平均分、最大最小值等功能[^1]。
阅读全文
相关推荐



















