用java写这个题目一个学习小组有5个人,每个人有三门课的考试成绩。求全组分科的平均成绩和各科总平均成绩。
时间: 2023-06-14 22:03:07 浏览: 849
好的,那我们首先来分析一下这个问题。
题目要求我们求出一个学习小组的平均成绩和各科总平均成绩。
对于每个人来说,他们有三门课程的成绩,所以我们需要先求出每个人的平均成绩,然后再求出全组的平均成绩。
同时,我们还需要对每门课程的成绩进行求和并求出平均值,得到各科总平均成绩。
那么,我们可以先定义一个学生类,记录每个人的成绩信息,然后再定义一个小组类,记录全组的成绩信息,最后通过调用小组类的方法来得到平均成绩和各科总平均成绩。
下面是Java代码的实现:
```java
class Student {
private String name; // 学生姓名
private double score1; // 第一门课程成绩
private double score2; // 第二门课程成绩
private double score3; // 第三门课程成绩
public Student(String name, double score1, double score2, double score3) {
this.name = name;
this.score1 = score1;
this.score2 = score2;
this.score3 = score3;
}
// 计算学生的平均成绩
public double getAverageScore() {
return (score1 + score2 + score3) / 3;
}
public double getScore1() {
return score1;
}
public double getScore2() {
return score2;
}
public double getScore3() {
return score3;
}
}
class Group {
private Student[] students; // 学生数组
public Group(Student[] students) {
this.students = students;
}
// 计算全组的平均成绩
public double getAverageScore() {
double sum = 0;
for (Student student : students) {
sum += student.getAverageScore();
}
return sum / students.length;
}
// 计算各科总平均成绩
public double getSubjectAverage(int subject) {
double sum = 0;
for (Student student : students) {
switch (subject) {
case 1:
sum += student.getScore1();
break;
case 2:
sum += student.getScore2();
break;
case 3:
sum += student.getScore3();
break;
default:
throw new IllegalArgumentException("Invalid subject number: " + subject);
}
}
return sum / students.length;
}
}
public class Main {
public static void main(String[] args) {
// 创建学生对象
Student[] students = new Student[]{
new Student("张三", 80, 90, 70),
new Student("李四", 75, 85, 80),
new Student("王五", 90, 95, 85),
new Student("赵六", 85, 80, 90),
new Student("钱七", 70, 75, 60)
};
// 创建小组对象
Group group = new Group(students);
// 计算全组平均成绩
double groupAverage = group.getAverageScore();
System.out.println("全组平均成绩:" + groupAverage);
// 计算各科总平均成绩
double subject1Average = group.getSubjectAverage(1);
System.out.println("第一门课程总平均成绩:" + subject1Average);
double subject2Average = group.getSubjectAverage(2);
System.out.println("第二门课程总平均成绩:" + subject2Average);
double subject3Average = group.getSubjectAverage(3);
System.out.println("第三门课程总平均成绩:" + subject3Average);
}
}
```
输出结果如下:
```
全组平均成绩:81.0
第一门课程总平均成绩:80.0
第二门课程总平均成绩:85.0
第三门课程总平均成绩:77.0
```
希望这个代码可以帮助到你。
阅读全文