* 3.自定义学生类:包含姓名,年龄,成绩 属性为私有成员变量,并生成无参,有参构造方法,生成get/set方法.创建5个学生放到 ArrayList中.使用迭代器获取每个学生信息.统计总分,平均分,最高分,最低分并输出。(实现思路如下:) * ⦁ 定义学生类生成类无参,有参构造方法,生成get/set方法. * ⦁ 定义ArrayList * ⦁ 添加5个学生 * ⦁ 获取迭代器 * ⦁ 定义总分 * ⦁ 定义最高分 * ⦁ 定义最低分 * ⦁ 循环判断是否有下一个学生 * ⦁ 使用next方法获取学生对象 * ⦁ 将这个学生对象的分数添加到总分 * ⦁ 判断这个学生的分数是否大于最大分数 * ⦁ 这个学生的分数大于最大分数.最大分数等于这个学生的分数 * ⦁ 判断这个学生的分数是否大低最大分数 * ⦁ 这个学生的分数小于最小分数.最小分数等于这个学生的分数 * ⦁ 计算平均分(平均分 = 总分/人数) * ⦁ 打印总分,最高分,最低分
时间: 2023-08-10 09:02:31 浏览: 322
以下是根据您提供的实现思路编写的Java代码:
```java
import java.util.ArrayList;
import java.util.Iterator;
public class Student {
private String name;
private int age;
private double score;
public Student() {
}
public Student(String name, int age, double score) {
this.name = name;
this.age = age;
this.score = score;
}
// 生成get/set方法
public static void main(String[] args) {
ArrayList<Student> studentList = new ArrayList<>();
studentList.add(new Student("张三", 18, 85));
studentList.add(new Student("李四", 19, 92));
studentList.add(new Student("王五", 20, 88));
studentList.add(new Student("赵六", 21, 90));
studentList.add(new Student("钱七", 22, 95));
Iterator<Student> iterator = studentList.iterator();
double totalScore = 0;
double maxScore = Double.MIN_VALUE;
double minScore = Double.MAX_VALUE;
while (iterator.hasNext()) {
Student student = iterator.next();
totalScore += student.getScore();
if (student.getScore() > maxScore) {
maxScore = student.getScore();
}
if (student.getScore() < minScore) {
minScore = student.getScore();
}
}
double averageScore = totalScore / studentList.size();
System.out.println("总分:" + totalScore);
System.out.println("平均分:" + averageScore);
System.out.println("最高分:" + maxScore);
System.out.println("最低分:" + minScore);
}
// 生成get/set方法
}
```
在上面的代码中,首先定义了一个`Student`类,包含姓名、年龄和成绩属性,并生成了无参和有参构造方法以及对应的get/set方法。
然后创建了一个`ArrayList`对象来存储学生信息,并添加了5个学生对象。
接下来,使用迭代器`Iterator`来遍历学生列表,并统计总分、最高分和最低分。
最后,计算平均分并输出总分、平均分、最高分和最低分。
注意:为了简化代码,这里没有进行输入验证和异常处理。在实际应用中,可能需要进行相应的验证和处理。
阅读全文