Java机试题1

时间:2025-05-13 07:58:45
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()); } } }