关于项目作业中按成绩平均分排序的问题

关于项目作业中按成绩平均分排序的问题

项目作业中有对各班语文和数学成绩按平均分进行排序的需求,我向通过实现comparable接口来实现这一功能,但是接口中的compareTo方法只能实现对一门的成的排序,请问老师有没什么办法可以分别实现两门成绩的排序并在调用时可以对科目经行区分?

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

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

2回答
天天4244770 2019-04-18 09:31:40

我的思路是,先统计每个班级语文或数学的平均成绩,然后存放到Map中,map key值为班级,value值为成绩,因为成绩有可能相同。然后在根据value值的大小进行排序。

重新创建一个比较类实现接口Comparator,然后重写compare方法。

这样语文,数学成绩可以共同用这个比较的方法。

好帮手慕阿满 2019-03-22 19:42:57

同学你好,使用这种方式会使代码变得更复杂,建议同学根据题目要求,使用普通的方法对成绩进行排序即可,如:

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

祝:学习愉快~

  • 提问者 菜得不行 #1
    不实现comparable接口的话我的想法是在Banji类中添加一个存放平均分的属性,这样排序的时候就可以根据这个属性来比较,这样可以吗。假如我完全按照需求不添加东西,那我就只能在排序方法中边计算平均分边比较,这样我感觉很麻烦
    2019-03-23 16:33:50
  • 好帮手慕阿满 回复 提问者 菜得不行 #2
    同学你好,定义一个存放平均分的的属性比较,只能比较成绩是否大于平均分,无法对成绩进行排名,建议同学在方法中排序即可,不需要计算平均分。祝:学习愉快~
    2019-03-24 16:21:00
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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