老师能对对各班语文成绩按平均分进行由大到小排序功能给个思路?

老师能对对各班语文成绩按平均分进行由大到小排序功能给个思路?

个人的思路比较混乱

  1. 我自己建了一个类

public class ChineseScore implements Comparator<Banji> {

@Override

public int compare(Banji arg0, Banji arg1) {

//按成绩升序排序

int f1=(int)(arg0.getAverageChineseScore());

int f2=(int)(arg1.getAverageChineseScore());

return f1-f2;

}

}

2.写完ChineseScore 类我发现Banji类中少了一个List去存放每个班对应的语文平均成绩,

缺少的List中应该是插入某个班级作为一个对象,

而这个要插入班级的对象包含某个班和某个班对应的语文平均成绩,

但是我Banji类中的构造方法是

// 带参构造方法

public Banji(String classId, String className) {

this.setClassId(classId);

this.setClassName(className);

stuList = new ArrayList<Student>();

}

我怎么在Banji类中去创建新的对象,而且这个对象只有班级名称和语文平均成绩属性呢?然后把这个对象放入存平均语文成绩的List中。

//自己思路不清晰,说话都说不清了。老师如果看不懂我说什么了,直接给我个思路让我琢磨琢磨也行,不懂接着再问

正在回答

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

3回答

第一步:班级的类里面创建一个getAvgChinese()方法,只要能得出班级学生语文成绩平均分就行,不需要另外定义属性。

public int getAvgChinese(){} //  获取班级语文平均

第二步:创建班级按语文成绩排序规则的类,这个你已经实现了。

public class ChineseScore implements Comparator<Banji>{}  //  按照班级语文平均分排序

第三步:在学校的类下,创建一个geiBanJiList(){}的方法,得到所有班级对象的列表(除"主学生列表"外)。

public List<BanJi> geiBanJiList(){}

第四步:排序

List<BanJi> banJiList = school.geiBanJiList();
banJiList.sort(new SortChinese());


  • 最后一个写反了 banJiList.sort(new ChineseScore());
    2020-07-02 23:20:53
  • 慕设计7678942 提问者 回复 慕丝1539783 #2
    我去试试,有不会的再问大佬
    2020-07-03 11:33:05
  • 慕设计7678942 提问者 回复 慕丝1539783 #3
    大佬,问一下第三步的public List<BanJi> geiBanJiList(){},这个方法咋实现啊? 是把所有的班级对方放到一个集合里就行了吗?
    2020-07-03 14:44:37
慕丝1539783 2020-07-03 15:35:28

    3)School类

            属性:存放班级的集合(schoolMap) ,类型为Map


上面是题目要求School类下的属性,Map存放的是各个班级对象。

遍历这个Map的值(也就是班级对象),判断每个班级对象的名称是不是"主学生列表",

public List<BanJi> getBanJiList() {
    List<BanJi> banJiList = new ArrayList<>();
    for (BanJi banJi : schoolMap.values()) {
         //这里判断班级名,若不是"主学生列表",则加入到banJiList
    }
    return banJiList;
}


好帮手慕小班 2020-07-03 11:31:41

同学你好,楼上同学的思路是正确的,同学可以尝试按照这个思路实现一下。

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

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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