题目
要求是实现的功能
(1)查询某次考试的总成绩?(具体考试次数由后台用户输入Scanner决定)。
(2)查询某个学生的总成绩?(具体学生由后台用户输入Scanner决定)。
(3)查询某个学生的平均成绩?(具体学生由后台用户输入Scanner决定)。
(4)查询全班平均分最高的一次考试成绩是哪次,并输出平均成绩的具体值。
(5)查询某个学生的某次考试成绩(学生姓名和考试次数均由后台用户输入)。
代码
package HashMap;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.Set;
public class Test {
static HashMap<String,Integer> ha1=new HashMap<String,Integer>();
static HashMap<String,Integer> ha2=new HashMap<String,Integer>();
static HashMap<String,Integer> ha3=new HashMap<String,Integer>();
static HashMap<String,Integer> ha4=new HashMap<String,Integer>();
static LinkedList<HashMap<String,Integer>> link=new LinkedList<HashMap<String,Integer>>();
public static void main(String[] args) {
///存入四组数据
ha1.put("张三", 80);
ha1.put("李四", 65);
ha1.put("王五", 35);
ha1.put("薛六", 90);
ha1.put("赵七", 70);
link.add(ha1);
ha2.put("张三", 88);
ha2.put("李四", 75);
ha2.put("王五", 45);
ha2.put("薛六", 92);
ha2.put("赵七", 75);
link.add(ha2);
ha3.put("张三", 86);
ha3.put("李四", 67);
ha3.put("王五", 55);
ha3.put("薛六", 98);
ha3.put("赵七", 65);
link.add(ha3);
ha4.put("张三", 88);
ha4.put("李四", 80);
ha4.put("王五", 59);
ha4.put("薛六", 88);
ha4.put("赵七", 68);
link.add(ha4);
System.out.println("查询某次考试的总成绩:请按1");
System.out.println("查询某个学生的总成绩:请按2");
System.out.println("查询某个学生的平均成绩:请按3");
System.out.println("查询全班平均分最高的一次考试成绩是哪次并输出具体平均成绩:请按4");
System.out.println("查询某个学生的某次考试成绩:请按5");
System.out.println("结束查询:请按6");
Scanner in=new Scanner(System.in);
while(true){
int a=in.nextInt();
switch(a){
case 1:
moucizongchengji();break;
case 2:
mougezongchengji();break;
case 3:
mougepingjun();break;
case 4:
zuigaoandpingjun();break;
case 5:
mougemoucichengji();break;
case 6:
Exit();break;
}
}
}
///查询某次考试的总成绩
public static void moucizongchengji(){
Scanner in=new Scanner(System.in);
int a=in.nextInt();
int sum=0;
Collection<Integer> ks=link.get(a-1).values();
Iterator<Integer> i=ks.iterator();
while(i.hasNext()){
sum+=i.next();
}
System.out.println(sum+"分");
}
///查询某个学生的总成绩
public static void mougezongchengji(){
Scanner in=new Scanner(System.in);
String a=in.next();
int sum=0;
for(int i=0;i<4;i++){
sum+=link.get(i).get(a);
}
System.out.println(sum+"分");
}
///查询某个学生的平均成绩
public static void mougepingjun(){
Scanner in=new Scanner(System.in);
String a=in.next();
int sum=0;
for(int i=0;i<4;i++){
sum+=link.get(i).get(a);
}
double sum1=(double)sum/4;
System.out.println(sum1+"分");
}
///查询全班平均分最高的一次考试成绩是哪次并输出平均值
public static void zuigaoandpingjun(){
Scanner in=new Scanner(System.in);
int sum[]={0,0,0,0};
int sum1[]=new int[4];
int max=0,i;
double max1 = 0;
for(i=0;i<4;i++){
Collection<Integer> ks=link.get(i).values();
Iterator<Integer> it=ks.iterator();
while(it.hasNext()){
sum[i]+=it.next();
}
sum1[i]=sum[i];
if(sum1[i]>max){
max=sum1[i];
}
}
for(i=0;i<4;i++){
if(sum[i]==max){
max1=(double)max/5;
break;
}
}
i++;
System.out.println("最高一次考试成绩是第"+i+"次");
System.out.println("平均成绩是"+max1+"分");
}
///查询某个学生的某次考试成绩
public static void mougemoucichengji(){
Scanner in=new Scanner(System.in);
String a=in.next();
int b=in.nextInt();
int cj=link.get(b-1).get(a);
System.out.println(a+"同学的第"+b+"次考试成绩是"+cj+"分");
}
///结束查询
public static void Exit(){
System.exit(0);
}
}