package com.tly.lessionHashMap;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;
public class Greade {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// 已知如下:
// 下表为某班级四次考试成绩单,
// 1. 要求使用HashMap<String, Integer>存储每次考试的成绩(key键为姓名,value为成绩)。
// 2. 要求使用LinkedList存储考试次数,有几次考试就有几个HashMap
// 3. 注意:后台用户是知道学生姓名的
//
// 形式如:LinkedList<HashMap<String, Integer>>
HashMap<String, Integer> hs= new HashMap<String, Integer>();
HashMap<String, Integer> hs1= new HashMap<String, Integer>();
HashMap<String, Integer> hs2= new HashMap<String, Integer>();
HashMap<String, Integer> hs3= new HashMap<String, Integer>();
LinkedList<HashMap<String, Integer>> lm=new LinkedList<HashMap<String, Integer>>();
HashMap<String, Integer> m = new HashMap<String, Integer>();
/*m.put("张三",80);
m.put("李四", 65);
m.put("王五", 35);
m.put("薛六", 90);
m.put("赵七", 70);*/
hs.put("张三",80);
hs.put("李四", 65);
hs.put("王五", 35);
hs.put("薛六", 90);
hs.put("赵七", 70);
hs1.put("张三",80);
hs1.put("李四", 65);
hs1.put("王五", 35);
hs1.put("薛六", 70);
hs1.put("赵七", 70);
hs2.put("张三",80);
hs2.put("李四", 63);
hs2.put("王五", 32);
hs2.put("薛六", 10);
hs2.put("赵七", 80);
hs3.put("张三",88);
hs3.put("李四", 55);
hs3.put("王五", 85);
hs3.put("薛六", 99);
hs3.put("赵七", 77);
lm.add(hs);
lm.add(hs1);
lm.add(hs2);
lm.add(hs3);
HashMap<String, Integer> hm= new HashMap<String, Integer>();
Scanner sc=new Scanner (System.in);
System.out.println("qi那个输入第几次");
int num=sc.nextInt();
if(num>=1&&num<=4){
hm=lm.get(num-1);
Set<Entry<String,Integer>> se=hm.entrySet();
Iterator<Entry<String,Integer>> is =se.iterator();
int sum=0;
while(is.hasNext()){
Entry<String,Integer> entry=is.next();
sum=sum+entry.getValue();
}
System.out.println("总成绩:"+sum);
}
System.out.println("qi那个输入某个学生的姓名:");
String name=sc.next();
int sum2=0;
for(int i=0;i<lm.size();i++){
sum2=sum2+lm.get(i).get(name);
}
System.out.println("某个学生总成绩:"+sum2);
int avg=sum2/(lm.size());
System.out.println(name+"学生总成绩平均成绩:"+avg);
int avg1 = sumClazzGrade(lm,1)/lm.size();
int avg2 = sumClazzGrade(lm,2)/lm.size();
int avg3 = sumClazzGrade(lm,3)/lm.size();
int avg4 = sumClazzGrade(lm,4)/lm.size();
int [] arr =new int[]{avg1,avg2,avg3,avg4};
for(int i =arr.length;i>0;i--){
for (int j = 0; j < i-1; j++) {
if(arr[j]>arr[j+1]){
int temp = arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
for (int i :arr) {
System.out.println(i);
}
System.out.println("平均值最高的一次为:"+arr[lm.size()-1]);
//(5)查询某个学生的某次考试成绩(学生姓名和考试次数均由后台用户输入)。
String name1 =sc.next();
int num1 =sc.nextInt();
lm.get(num1).get(name1);
}
// i
public static int sumClazzGrade(LinkedList<HashMap<String, Integer>> lm, int num){
HashMap<String, Integer> hm = new HashMap<String, Integer>();
hm = lm.get(num-1);
Set<Entry<String, Integer>> se = hm.entrySet();
Iterator<Entry<String, Integer>> is =se.iterator();
int sum=0 ;
while(is.hasNext()){
Entry<String, Integer> entry =is.next();
sum = sum+entry.getValue();
}
return sum;
}
}