请教老师,怎么判断学生中成绩为空

请教老师,怎么判断学生中成绩为空

System.out.println("4--对各班语文成绩按平均分由大到小排序");

Map<String, Banji> banjiMap = sch.getSchoolMap();

//得到班级名称集合

Set<String> banjiList1=banjiMap.keySet();

Collection<Banji> banjiChineseScore=banjiMap.values();

if(banjiChineseScore.isEmpty()) {

}

//Collection<Banji> banjichnese=banjiMap.

Banji banji=null;

/*

*/

for(String s:banjiList1) {

if(s.equals("主学生列表")) {

continue;

}

banji=sch.searchByName(s);

if(banji==null) {

System.out.println("未找到班级");break;

}else {

List<Student> listStudent=banji.getStuList();//获取每个班级的学生列表

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

ArrayList<Float> listChinese=new ArrayList<>();

//Float stuc;

while(it.hasNext()) {

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

}

++++++++++++++++++++++++++++

学校菜单中,对成绩进行排序,判断成绩是否为空,思路是先找到班级,然后获取班级列表listStudent,然后建立一个语文成绩的集合listChinese,将语文成绩放进去,然后判断是否为空,但是在黑色加粗部分报错了,请问老师怎么修改喃

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

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

1回答
好帮手慕小琪 2020-03-28 13:59:29

同学你好,我们其实不用判断语文成绩是否为空,我们只管取出所有同学的语文成绩,如果是空,那么所有同学语文成绩的总和就为0。所以不需要创建语文成绩的集合listChinese,而是直接算总和即可。

关于排序的思路,同学可以参考这个问答中老师的回答,认真看完代码思路步骤,同学就会明白的!

https://class.imooc.com/course/qadetail/138401

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

  • 提问者 视线模糊 #1
    case 4: System.out.println("4--对各班语文成绩按平均分由大到小排序"); Map<String, Banji> banjiMap = sch.getSchoolMap();// 获取班级集合 Set<String> scoreList = banjiMap.keySet();// 获取班级名称列表 Banji banji = null; /* * 使用for循环遍历班级名称列表(主学生列表除外) */ for (String s : scoreList) { if (s.equals("主学生列表")) { continue; } banji = sch.searchByName(s);// 通过班级名称查询班级 if (banji == null) { System.out.println("未找到班级"); break; } else { float sum = 0.0f;// 存放语文成绩的和 int i = 0; // banji不为空的情况下,使用banji类的getStuList()方法获取班级学生的集合 List<Student> listStudent = banji.getStuList(); // 使用迭代器遍历学生集合 Iterator<Student> it = listStudent.iterator(); if (it.hasNext()) { sum += it.next().getChinese(); i++; } if (sum == 0) { System.out.println("班级语文成绩还未输入,请到班组管理菜单中输入语文成绩"); } else { sch.sortChineseByAverage(); } } } break; 是这样的吗?
    2020-03-28 16:27:32
  • 好帮手慕小琪 回复 提问者 视线模糊 #2
    同学你好,同学的思路是正确的,继续加油,想法也很不错。 如果我的回答解决了你的疑惑,请采纳!祝学习愉快~
    2020-03-28 17:12:26
  • 提问者 视线模糊 回复 好帮手慕小琪 #3
    +++++++++++++++++ 我这样写,进入菜单后,不创建班组,直接选择4,运行结果如下: **************** *主菜单* 1--班级管理 2--学校管理 0--退出 **************** 请输入数据进行操作: 2 **************** 1--创建班级 2--删除班级 3--通过班级名称查询班级信息 4--对各班语文成绩按平均分由大到小排序 5--对各班数学成绩按平均分由大到小排序 6--显示所有班级的名称 9--返回上一级菜单 **************** 请输入数字对学校进行管理 4 4--对各班语文成绩按平均分由大到小排序 **************** 1--创建班级 2--删除班级 3--通过班级名称查询班级信息 4--对各班语文成绩按平均分由大到小排序 5--对各班数学成绩按平均分由大到小排序 6--显示所有班级的名称 9--返回上一级菜单 **************** 请输入数字对学校进行管理 ++++++++++++++++ 运行结果: 为什么不输出"未找到班级"?
    2020-03-28 18:22:49
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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