java实现给出分数数组得到对应名次数组的方法

 更新时间:2015年07月22日 15:02:13   作者:中国风2012  
这篇文章主要介绍了java实现给出分数数组得到对应名次数组的方法,涉及java针对数组的遍历、排序及运算的相关技巧,需要的朋友可以参考下

本文实例讲述了java实现给出分数数组得到对应名次数组的方法。分享给大家供大家参考。具体实现方法如下:

package test01;
/**
 * 给出分数数组,得到对应的名次数组
 * 列如有:score = {4,2,5,4}
 * 则输出:rank = {2,3,1,2}
 */
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ScoreRank {
  // 输出数组
  public static void show(int[] s){
    for(int x:s) System.out.print(x);
    System.out.println();
  }
  // 取得名次
  public static int[] scoreRank(int[] score) {
    int[] temp = new int[score.length];
    List lis = new ArrayList();
    for(int x:score)   // 添加元素(不重复)
      if(!lis.contains(x)) lis.add(x);
    Collections.sort(lis);    // 从小到大排序
    Collections.reverse(lis);  // 从大到小排序
    for(int i=0;i<score.length;i++) // 下标从 0 开始
      temp[i] = lis.indexOf(score[i])+1;
      // 所以:正常名次 = 取得下标 + 1 
    return temp;
  }
  public static void main(String[] args){
    int[] score = {4,2,5,4};  // 名次 {2,3,1,2}
    int[] rank = scoreRank(score);  // 取得名次
    System.out.print("原始分数:");show(score);
    System.out.print("对应名次:");show(rank);
  }
}

运行结果如下:

原始分数:4254
对应名次:2312

希望本文所述对大家的java程序设计有所帮助。

相关文章

  • springboot中使用jpa下hibernate的ddl-auto方式

    springboot中使用jpa下hibernate的ddl-auto方式

    这篇文章主要介绍了springboot中使用jpa下hibernate的ddl-auto方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java实现默认目录查看与修改的方法

    Java实现默认目录查看与修改的方法

    本项目介绍了Java如何获取和修改默认目录,并通过示例代码展示了如何在默认目录下创建和操作文件,尽管Java无法直接更改全局默认目录,但可以通过System.setProperty间接影响部分API的默认行为,需要的朋友可以参考下
    2025-03-03
  • Java中双冒号::的作用举例详解

    Java中双冒号::的作用举例详解

    这篇文章主要给大家介绍了关于Java中双冒号::作用的相关资料,双冒号(::)运算符在Java 8中被用作方法引用(method reference),方法引用是与lambda表达式相关的一个重要特性,需要的朋友可以参考下
    2023-11-11
  • 深入理解java动态代理的两种实现方式(JDK/Cglib)

    深入理解java动态代理的两种实现方式(JDK/Cglib)

    本篇文章主要介绍了java动态代理的两种实现方式,详细的介绍了JDK和Cglib的实现方法,具有一定的参考价值,有兴趣的可以了解一下
    2017-04-04
  • java并发之ArrayBlockingQueue详细介绍

    java并发之ArrayBlockingQueue详细介绍

    这篇文章主要介绍了java并发之ArrayBlockingQueue详细介绍的相关资料,需要的朋友可以参考下
    2017-05-05
  • Java中断线程的方法

    Java中断线程的方法

    这篇文章主要介绍了Java中断线程的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • 简单谈谈java中匿名内部类构造函数

    简单谈谈java中匿名内部类构造函数

    这篇文章主要简单给我们介绍了java中匿名内部类构造函数,并附上了简单的示例,有需要的小伙伴可以参考下。
    2015-11-11
  • 浅谈@Value和@Bean的执行顺序问题

    浅谈@Value和@Bean的执行顺序问题

    这篇文章主要介绍了@Value和@Bean的执行顺序问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • JavaEE在线人数管理系统

    JavaEE在线人数管理系统

    这篇文章主要为大家分享了JavaEE在线人数管理系统,显示在线人数、在线人详细信息、管理员踢人等功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • SpringBoot打包前重新拉取maven依赖的方法实现

    SpringBoot打包前重新拉取maven依赖的方法实现

    在使用 Maven 构建 Spring Boot 项目时,如果希望在每次打包时都强制拉取依赖,可以通过以下方法实现,本文给大家介绍了四种实现方法,并通过代码讲解的非常详细,需要的朋友可以参考下
    2024-12-12

最新评论