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 的基础上,完成下列要求:计算各个班级的平均分
package Day1215;public class Student {private String name ; private int age ;private double score;private String classNum;public Student() {super();}public Student(String name, int age, double score, String classNum) {super();this.name = name;this.age = age;this.score = score;this.classNum = classNum;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public double getScore() {return score;}public void setScore(double score) {this.score = score;}public String getClassNum() {return classNum;}public void setClassNum(String classNum) {this.classNum = classNum;}@Overridepublic String toString() {return "Student [姓名=" + name + ", age=" + age + ", score=" + score + ", classNum=" + classNum + "]";}
}
package Day1215;import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;public class TestStudent {public static void main(String[] args) {List<Student> list = new ArrayList<Student>();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, 88, "class04")); list.add(new Student("Kevin", 24, 76, "class10")); list.add(new Student("Kevin", 24, 92, "class07")); list.add(new Student("Kevin", 24, 58, "class07")); list.add(new Student("Kevin", 24, 83, "class09")); HashMap<String,List<Student>> map = new HashMap<>();for(Student stu : list) {String classNum = stu.getClassNum();if(!map.containsKey(classNum)) {List<Student> listStu = new ArrayList<Student>();listStu.add(stu);map.put(classNum, listStu);}else {List<Student> list2 = map.get(classNum);list2.add(stu);}}Set<String> set = map.keySet();Iterator<String> it = set.iterator();double sumScore = 0;while(it.hasNext()) {String key = it.next();List<Student> listStu = map.get(key);for(Student stu : listStu) {sumScore += stu.getScore();}System.out.println(key+"这个班级的平均分为:"+ sumScore/listStu.size());sumScore = 0;}}}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!