62,614
社区成员
发帖
与我相关
我的任务
分享
package cn.itcast.avg;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class AvgAndSunDemo {
public static void main(String[] args) {
//数据准备
List list = new ArrayList<Student>();
list.add(new Student("Tom",18,100.0,"class05"));
list.add(new Student("Jerry",22,70.0,"class04"));
list.add(new Student("Owen",25,90.0,"class05"));
list.add(new Student("Jim",30,80.0,"class05"));
list.add(new Student("Steve",28,66.0,"class06"));
list.add(new Student("Kevin",24,100.0,"class04"));
int ageSum = 0;
double avgAge = 0;
Map<String, Double> classMap = new HashMap<String, Double>();
Map<String, Integer> classMap2 = new HashMap<String, Integer>();
for(int i = 0; i < list.size(); i++){
//System.out.println(list.get(i));
Student student = (Student) list.get(i);
ageSum += student.getAge();//年龄总数
Double beforeScore = classMap.put(student.getClassNum(),student.getScore());//map特性:返回覆盖前一个对象的value
Integer beforeScore2 = classMap2.put(student.getClassNum(),1);
if(beforeScore != null){
classMap.put(student.getClassNum(),(student.getScore()+beforeScore));
classMap2.put(student.getClassNum(),beforeScore2+1);
}
//System.out.println(beforeScore);
}
avgAge = ageSum / list.size();
System.out.println("年龄总数:" + ageSum + " 平均年龄:" + avgAge);
//System.out.println(classMap.size());
Set<String> classSet = classMap.keySet();
for (String keyStr : classSet) {
System.out.println(keyStr + ":" + " 总分:" + classMap.get(keyStr) +
" 人数:" + classMap2.get(keyStr) +
" 平均分:" + classMap.get(keyStr)/classMap2.get(keyStr));
}
}
}
package cn.itcast.avg;
public class Student {
public String name;//姓名
public Integer age;//年龄
public Double score;//分数
public String classNum;//班级ID
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer 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;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + ", score=" + score
+ ", classNum=" + classNum + "]";
}
public Student() {
}
public Student(String name, Integer age, Double score, String classNum) {
super();
this.name = name;
this.age = age;
this.score = score;
this.classNum = classNum;
}
}