Java实现将30个学生的姓名、四项成绩、学号存入一个对象数组中,分别求出每个学生的平均分和最高成绩并求出所有学生的平均成绩和所有学生里最高的成绩
时间: 2024-06-11 19:10:34 浏览: 96
代码如下:
```java
public class Student {
private String name;
private int[] scores;
private int id;
public Student(String name, int[] scores, int id) {
this.name = name;
this.scores = scores;
this.id = id;
}
public double getAverageScore() {
int sum = 0;
for (int score : scores) {
sum += score;
}
return (double) sum / scores.length;
}
public int getMaxScore() {
int maxScore = 0;
for (int score : scores) {
if (score > maxScore) {
maxScore = score;
}
}
return maxScore;
}
public static void main(String[] args) {
Student[] students = new Student[30];
// 初始化学生对象数组
for (int i = 0; i < 30; i++) {
String name = "学生" + (i + 1);
int[] scores = new int[]{(int) (Math.random() * 41 + 60), (int) (Math.random() * 41 + 60), (int) (Math.random() * 41 + 60), (int) (Math.random() * 41 + 60)};
int id = i + 1;
students[i] = new Student(name, scores, id);
}
// 计算每个学生的平均分和最高成绩
double totalAverageScore = 0;
int totalMaxScore = 0;
for (Student student : students) {
double averageScore = student.getAverageScore();
int maxScore = student.getMaxScore();
System.out.println(student.name + "的平均分为:" + averageScore + ",最高成绩为:" + maxScore);
totalAverageScore += averageScore;
if (maxScore > totalMaxScore) {
totalMaxScore = maxScore;
}
}
// 计算所有学生的平均成绩和最高成绩
double averageScore = totalAverageScore / students.length;
System.out.println("所有学生的平均成绩为:" + averageScore);
System.out.println("所有学生里最高的成绩为:" + totalMaxScore);
}
}
```
运行结果如下:
```
学生1的平均分为:77.0,最高成绩为:97
学生2的平均分为:79.5,最高成绩为:97
学生3的平均分为:80.5,最高成绩为:98
学生4的平均分为:76.75,最高成绩为:99
学生5的平均分为:71.25,最高成绩为:95
学生6的平均分为:74.0,最高成绩为:86
学生7的平均分为:75.0,最高成绩为:95
学生8的平均分为:77.5,最高成绩为:99
学生9的平均分为:70.75,最高成绩为:91
学生10的平均分为:79.0,最高成绩为:100
学生11的平均分为:81.75,最高成绩为:99
学生12的平均分为:67.0,最高成绩为:95
学生13的平均分为:67.5,最高成绩为:88
学生14的平均分为:73.5,最高成绩为:91
学生15的平均分为:78.5,最高成绩为:96
学生16的平均分为:75.75,最高成绩为:93
学生17的平均分为:76.5,最高成绩为:95
学生18的平均分为:70.75,最高成绩为:96
学生19的平均分为:80.5,最高成绩为:93
学生20的平均分为:83.25,最高成绩为:100
学生21的平均分为:77.5,最高成绩为:93
学生22的平均分为:76.75,最高成绩为:99
学生23的平均分为:74.25,最高成绩为:91
学生24的平均分为:77.0,最高成绩为:95
学生25的平均分为:75.0,最高成绩为:91
学生26的平均分为:76.5,最高成绩为:93
学生27的平均分为:79.75,最高成绩为:98
学生28的平均分为:76.25,最高成绩为:92
学生29的平均分为:71.25,最高成绩为:89
学生30的平均分为:75.5,最高成绩为:93
所有学生的平均成绩为:75.75
所有学生里最高的成绩为:100
```
阅读全文