用java已知某个班有30个学生,学习5门课程,随机产生所有学生的各科成绩。请编写程序:分别计算每个学生的平均成绩,并输出。
时间: 2024-10-17 16:06:04 浏览: 39
在Java中,我们可以使用ArrayList来存储学生的成绩数据,然后遍历数组进行统计。这里假设每门课程的成绩范围是从0到100分,以下是创建并计算平均成绩的一个简单示例:
```java
import java.util.ArrayList;
import java.util.Random;
class Student {
private String name;
private ArrayList<Integer> grades; // 存储5门课程成绩
public Student(String name) {
this.name = name;
this.grades = new ArrayList<>(5); // 初始化5门课成绩列表
}
void addGrade(int grade) {
grades.add(grade);
}
double calculateAverage() {
if (grades.isEmpty()) return 0; // 如果没有任何成绩,返回0
int sum = 0;
for (int grade : grades) {
sum += grade;
}
return (double) sum / grades.size(); // 计算平均成绩
}
}
public class Main {
public static void main(String[] args) {
Student[] students = new Student[30]; // 创建一个班级,包含30名学生
Random random = new Random();
for (int i = 0; i < 30; i++) { // 遍历学生
students[i] = new Student("学生" + (i+1)); // 假设名字为“学生X”
for (int j = 0; j < 5; j++) { // 每位学生5门课
int grade = random.nextInt(101); // 随机生成0-100的整数作为成绩
students[i].addGrade(grade);
}
}
for (Student student : students) { // 对每位学生计算平均成绩
double average = student.calculateAverage();
System.out.println("学生 " + student.name + " 的平均成绩: " + average);
}
}
}
```
这个程序首先创建了一个包含30个学生的数组,每个学生都有5门课程的成绩。然后为每个学生生成随机成绩并计算他们的平均分数。最后,它会打印出每一位学生的姓名及其平均成绩。
阅读全文