package cn.itcast_06;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Test4 {
/**
1.(综合)有如下Student 对象
其中,classNum 表示学生的班号,例如"class05"。
有如下List
List list = new ArrayList();
list.add(new Student("Tom", 18, 100, "class05"));
list.add(new Student("Jerry", 22, 70, "class04"));
list.add(new Student("Owen", 25, 90, "class05"));
list.add(new Student("Jim", 30,80 , "class05"));
list.add(new Student("Steve", 28, 66, "class06"));
list.add(new Student("Kevin", 24, 100, "class04"));
在这个list 的基础上,完成下列要求:
1) 计算所有学生的平均年龄
2) 计算各个班级的平均分
*/
public static void main(String[] args) {
//创建集合对象
List<Student2> list = new ArrayList<Student2>();
//添加学生对象
list.add(new Student2("Tom", 18, 100, "class05"));
list.add(new Student2("Jerry", 22, 70, "class04"));
list.add(new Student2("Owen", 25, 90, "class05"));
list.add(new Student2("Jim", 30,80 , "class05"));
list.add(new Student2("Steve", 28, 66, "class06"));
list.add(new Student2("Kevin", 24, 100, "class04"));
//学生的平均成绩 班级平均分
function1(list);
// 计算所有学生的平均年龄
function2(list);
}
private static void function2(List<Student2> list) {
// 计算所有学生的平均年龄
//定义一个学生总年龄的变量ageSum
int ageSum =0;
//遍历集合的到每个学生的年龄,循环集合将每个学生的年龄存储到变量ageSum中
for (Student2 stu : list) {
ageSum=stu.getAge()+ageSum;
}
System.out.println("学生的平均年龄为:"+"\t"+ageSum/list.size());
}
private static void function1(List<Student2> list) {
//遍历集合
for (Student2 stud : list) {
System.out.println(stud);
}
//定义一个变量temp,用来接收总成绩,因为变量需要累积所以定义在循环外面
int temp =0;
for (Student2 stu : list) {
//因为学生的成绩定义的是double类型,在这里需要强转
temp=(int)stu.getGrade()+temp;
}
System.out.println("学生的平均成绩为:"+temp/list.size());
// 2) 计算各个班级的平均分
//班级4的总成绩为sum4
int sum4 = 0;
//班级为4的个数为num4
int num4 =0;
//班级5的总成绩为sum5
int sum5 = 0;
//班级为5的个数为num4
int num5 =0;
//班级6的总成绩为sum4
int sum6 = 0;
//班级为6的个数为num4
int num6 =0;
for (Student2 stu : list) {
if (stu.getClasses().equals("class04")) {
sum4=(int)(sum4+stu.getGrade());
++num4;
}else if (stu.getClasses().equals("class05")) {
sum5=(int)(sum5+stu.getGrade());
++num5;
}else if (stu.getClasses().equals("class06")) {
sum6=(int)(sum6+stu.getGrade());
++num6;
}
}
System.out.println("class04的平均成绩:"+sum4/num4);
System.out.println("class05的平均成绩:"+sum5/num5);
System.out.println("class06的平均成绩:"+sum6/num6);
}
}
|