如何把班级和平均分存到map里面

如何把班级和平均分存到map里面

value的值设定成float会报错,但是不设置成float无法存平均值ave

public void sortChineseByAverage() {

Map<BanJi,float> scoreMap=new HashMap<BanJi,float>();

    Set<String> scoreList=BanJiMap.keySet();

BanJi bj=null;

for(String s:scoreList) {

bj=this.searchByName(s);

if(bj==null) {

System.out.println("这个班级不存在!");

}else {

float sum=0.0f;

int i=0;

List<Student> listStudent=bj.getStuList();

//遍历学生

Iterator<Student> it=listStudent.iterator();

if(it.hasNext()) {

i++;

sum=it.next().getChinese();

}

//获得平均分

float ave=sum/i;

scoreMap.put(s,ave);

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿慧 2020-03-22 12:06:30

同学你好,

1、map中key可以为班级名字,value为班级平均分。

2、Java集合不能存放基本数据类型,只能存放对象的引用。所以value应该是Float类型。

代码修改如下:

http://img1.sycdn.imooc.com//climg/5e76e43609be8b3b06690459.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 这里if(bj=null)是指整个学校map里面没有任何班级吗
    2020-04-20 22:13:51
  • 如果有班级但是没有添加学生或者有学生没有添加成绩怎么办
    2020-04-20 22:16:15
  • 同学你好, 1、如果学生没有添加成绩,则该学生的成绩应该是0。如果班级内没有学生,则该班级平均分应该是0。 2、if(bj==null)是指整个学校map里面没有找到班级名为s的班级。 如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2020-04-21 11:09:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码