以下供参考:package com.test;

public class Student {

/**

* id

*/

private String id;

/**

* 学号

*/

private String code;

/**

* 姓名

*/

private String name;

/**

* 成绩

*/

private float score;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getCode() {

return code;

}

public void setCode(String code) {

this.code = code;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public float getScore() {

return score;

}

public void setScore(float score) {

this.score = score;

}

public Student(String id, String code, String name, float score) {

super();

this.id = id;

this.code = code;

this.name = name;

this.score = score;

}

public Student() {

super();

}

}

package com.test;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.List;

public class Test {

public static void main(String[] args) {

Student a = new Student("1", "001", "张三", 90.1f);

Student b = new Student("2", "002", "李四", 70.2f);

Student c = new Student("3", "003", "王五", 80.3f);

Student d = new Student("4", "004", "赵六", 60.4f);

Student e = new Student("5", "005", "钱七", 50.5f);

List list = new ArrayList();

list.add(a);

list.add(b);

list.add(c);

list.add(d);

list.add(e);

float avg = getAvg(list);

System.out.println("平均分为: " + avg);

int sort = getSort(list, "003");

System.out.println("排名为: " + sort);

}

/**

* 根据学号查询该学生的排名

* @param list

* @param studentCode

* @return

*/

private static int getSort(List list, String studentCode) {

//因为是排名,所以降序排序

Collections.sort(list, new Comparator() {

@Override

public int compare(Student o1, Student o2) {

if (o1.getScore() > o2.getScore()) {

return -1;

} else if (o1.getScore() == o2.getScore()) {

return 0;

} else {

return 1;

}

}

});

int sort = 0;

//因为list从0开始,所以要+1

for (int i = 0; i

if(list.get(i).getCode().equals(studentCode)){

sort = i+1;

break;

}

}

return sort;

}

/**

* 传入list查询平均分

* @param list

* @return

*/

private static float getAvg(List list) {

int count = list.size();

float totalScore = 0f;

for (Student student : list) {

totalScore += student.getScore();

}

float avg = totalScore / count;

return avg;

}

}

输出结果:平均分为: 70.3

排名为: 2

java 成绩 排名算法_Java计算成绩平均值和排名相关推荐

  1. java 求交集 算法_Java计算交集,差集,并集的方法示例

    Java计算交集,差集,并集的方法示例 发布时间:2020-10-07 10:37:46 来源:脚本之家 阅读:106 作者:benbenkui 本文实例讲述了Java计算交集,差集,并集的方法.分享 ...

  2. java中求中位数_java 计算中位数的实现方法

    最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...

  3. java密码学原型算法_java密码学原型算法实现——双线性对.pdf

    java密码学原型算法实现--双线性对 Java 密码学原型算法实现--双线性对 1.背景介绍 如何使用jPBC 库进行双线性群初始化,包括: (1)质数阶双线性群(Prime-Order Bilin ...

  4. java数组相似度_Java 计算两个字符串的相似度

    问题 许多程序会大量使用字符串.对于不同的字符串,我们希望能够有办法判断其相似程度.我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为: 1.修改一个字符(如把"a&qu ...

  5. 今日头条的排名算法_今日头条搜索seo排名怎么做? 今日头条搜索排名规则...

    今日 既然今日头条宣布做搜索引擎,怎么少的了"头条seo"的研究呢? 一."头条seo"是什么? 头条seo指的是在今日头条app上用关键词搜索结果排名靠前.头 ...

  6. java常见的算法_Java常用算法总结(转)

    交换排序 冒泡排序 将最后一个元素与倒数第二个元素对比,如果最后一个元素比倒数第二个小,则交换两个元素的位置,再用倒数第二个元素与倒数第三个元数对比,直到比到第一个元素,这样经过第一趟排序后得到第一个 ...

  7. java gc回收算法_Java GC回收算法-判定一个对象是否可以回收

    开源推荐 推荐一款一站式性能监控工具(开源项目) Pepper-Metrics是跟一位同事一起开发的开源组件,主要功能是通过比较轻量的方式与常用开源组件(jedis/mybatis/motan/dub ...

  8. java实现九宫格解锁_Java计算手机九宫格锁屏图案连接9个点的方案总数

    (一)问题 九宫格图案解锁连接9个点共有多少种方案? (二)初步思考 可以把问题抽象为求满足一定条件的1-9的排列数(类似于"八皇后问题"),例如123456789和9876543 ...

  9. java快速查找算法_Java实现的快速查找算法示例

    本文实例讲述了Java实现的快速查找算法.分享给大家供大家参考,具体如下: 快速查找算法,可以根据想要找的是第几个大的数,每次循环都能固定下来一个数在数组完整排完序之后的位置,每次循环都能定一个数的位 ...

最新文章

  1. 《循序渐进学Spark》一3.5 容错机制及依赖
  2. [置顶] C语言实验:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到这一天总共有多少天,并求出这一天是星期几。...
  3. 算法总结——堆栈、字符串、数组类题目
  4. html-webpack-plugin 多页面,html-webpack-plugin
  5. “高考”机器人横空出世 2017年居然要考“大学”
  6. 又发生频繁FGC,这次是谁的锅
  7. 《给教师的阅读建议》经典语录
  8. java redis hash_我爱java系列---【redis中如何存取hash类型的值(key field value)】
  9. linux 关于目录的命令,Linux ---- 关于目录基本命令
  10. 【Nginx那些事】nginx配置实例(三)动静分离
  11. oracle字段属性设置下拉列表,下拉列表 select-option ; select-optgroup-option
  12. Spark Streaming 源码详解
  13. # 研究杂感 × VOSviewer(第二辑)
  14. 使用8、14、20节点6面体的立方体弹性固体的三维分析(python,有限元)
  15. 十、网络编程(高琪java300集+java从入门到精通笔记)
  16. 2015秋季腾讯【技术运营】岗位———在线笔试总结
  17. 获取Windows操作系统版本和位数
  18. C/C++面试高频知识点八股文
  19. 与、或、异或、按位取反
  20. 计算机专业学生u盘32g够用吗,很超值:为什么我的32G USB只有28.8g?

热门文章

  1. oracle元字符,oracle中正则表达式的基本元字符
  2. c++读取声音文件之后回音_一段程序运行之后,输出的内容就是这段程序本身。...
  3. 面向药物发现的深度图学习
  4. Moving Towards Third‐Generation Sequencing Technologies 迈向第三代测序技术
  5. matlab 方波_MATLAB之Simulink(二)利用switch模块将正弦信号变为方波信号
  6. android canvas绘制圆角_Android自定义View撸一个渐变的温度指示器(TmepView)
  7. 十三、进程互斥的软件实现方法
  8. LeetCode 217 Contains Duplicate--python,java解法--set--简单
  9. Java并发学习一:CPU缓存导致的可见性问题带来的并发Bug
  10. oracle 清理定期备份文件,RAC RMAN定期备份及删除脚本