请选择 进入手机版 | 继续访问电脑版

JAVA实验五

[复制链接]
二次方先生 发表于 2021-1-1 10:30:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
任务形貌
本关任务:设计一个步调,管理一个班级的若干学生(学生的姓名是唯一的),每个学生都修了若干门课程,没门课程都有了一个结果。但一个班的同学修的课程不完全一样。
要求:
该步调用聚集框架的Map接口来实现。学生用Map来存储,键用学生姓名,值是另一个存储课程的Map;每个同学修的若干门课程也用Map来存储,键是课程名称,值是该课程的结果。
将把完成的工作放在Class类中。 类名:Class public Class(String name) 构造函数,name为班级名称;
public void addCourseGrade(String stuname,String []Coursenames,Integer[] grades) 增加学生及课程的数据,stuname 学生姓名,Coursenames多个课程名,grades对应的多个分数;
public void addCourseGrade(String stuname,String Coursename,Integer grade) 增加学生及课程的数据,stuname 学生姓名,Coursename课程名,grade对应的分数;
public void delStudent(String stuname) 删出一个学生,stuname学生姓名;
public void delStuCourse(String stuname,String Coursename) 删出一个学生的一门课程,stuname学生姓名,Coursename课程名;
public double getPerAvgStudent(String stuname)返回一个学生的所有课程的匀称结果,stuname学生姓名;
``
public double getClassAvgCourse(String Coursename) 返回一个班某门课程的匀称结果,如果该班有同学没选修该门课程,匀称结果不盘算该同学,Coursename为课程名。
  1. package step1;import java.util.*;//在此写Class类public class Class {    String classname = null;    String stuname = null;    HashMap nameprojects = new HashMap();//姓名、课程    public Class(String classname){        this.classname = classname;    }    public void addCourseGrade(String stuname,String Coursename,Integer grade){        ArrayList stuList = nameprojects.get(stuname);        if(stuList == null) {            stuList = new ArrayList();            nameprojects.put(stuname, stuList);        }        HashMap courseGrade = new HashMap();        courseGrade.put(Coursename, grade);        stuList.add(courseGrade);    }    public void addCourseGrade(String stuname,String[] Coursenames,Integer[] grades){        for(int i = 0;i < Coursenames.length;i++){            ArrayList stuList = nameprojects.get(stuname);            if(stuList == null) {                stuList = new ArrayList();                nameprojects.put(stuname, stuList);            }            HashMap courseGrade = new HashMap();            courseGrade.put(Coursenames[i], grades[i]);            stuList.add(courseGrade);        }    }    public void delStudent(String stuname){        nameprojects.remove(stuname);    }    public void delStuCourse(String stuname,String Coursename) {        for (Map.Entry delet : nameprojects.entrySet()) {            if (delet.getKey().equals(stuname)) {                for(HashMap deletCourse : delet.getValue()){                    deletCourse.remove(Coursename);                }            }        }    }    public double getPerAvgStudent(String stuname){        double sum = 0;        int count = 0;        for (Map.Entry find_name : nameprojects.entrySet()) {            if(find_name.getKey().equals(stuname)){                for(HashMap SUM : find_name.getValue()){                    for(Map.Entry Sum : SUM.entrySet()){                        sum = sum + Sum.getValue();                        count++;                    }                }            }        }        return sum/count;    }    public double getClassAvgCourse(String Coursename){        double sum = 0;        int count = 0;        for (Map.Entry find_name : nameprojects.entrySet()) {            for(HashMap SUM : find_name.getValue()){                for(Map.Entry Sum : SUM.entrySet()){                    if(Sum.getKey().equals(Coursename)){                        sum = sum + Sum.getValue();                        count++;                    }                }            }        }        return sum/count;    }}
复制代码
来源:https://blog.csdn.net/qq_46197017/article/details/111995893
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )