Java机试题1
package com.neuedu.test;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;
public class Exam {
public static void main(String[] args) {
List<String> list = Arrays.asList(new String[] {"1,张三,50","2,李四,80","3,王五,40","4,张三,90","5,王五,70"});
//1.输出所有同学的名字及其平均分
//2.按平均分升序
Map<String,Integer> h = new HashMap();
Map<String,Integer> h2 = new HashMap();//计算h的key的次数
String i = null;//h的key
Integer j = null;//h的value
for (String string : list) {
i = string.substring(2,4);//将名字截取到i中
j = Integer.parseInt(string.substring(5));//将数成绩截取到j中
if(h.get(i)==null) {
h.put(i,j);//如果没有当前key,在h中插入key
h2.put(i,1);//并且打开当前key的次数,value=1;value就是记次数的
}else {
h.put(i,h.get(i)+j);
h2.put(i,h2.get(i)+1);
}
// (());
}
//遍历Map
for(Map.Entry<String, Integer> entry : h.entrySet()){
String mapKey = entry.getKey();
Integer mapValue = entry.getValue();
Integer zz = mapValue/h2.get(mapKey);
h.put(mapKey,zz);
}
//遍历输出
for (Map.Entry<String, Integer> entry : h.entrySet()) {
System.out.println(entry.getKey()+"\t"+entry.getValue());
}
}
}