题目大意

磁盘的容量单位有M、G、T,其关系为 1T = 1000G、1G = 1000M,如样例所示先输入磁盘的个数,再依次输入磁盘的容量大小,然后按照从小到大的顺序对磁盘容量进行排序并输出。

例如:
输入:

3
20M
1T
300G

输出:

20M
300G
1T

本人思路:
本来准备使用TreeMap 进行key 排序,但是map key 有唯一性,如果输入两个一样大小的数据,会出现数据丢失的问题。

所以决定自定义一个对象VolumInfo 进行实现
然后用list 的stream.sorted 进行排序

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;public class Main3 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);// 接受输入的数据int size = Integer.parseInt(scan.nextLine());// 接受input str 放入到原始list 里面List<VolumInfo> volumInfos = new ArrayList<VolumInfo>();for (int i = 0; i < size; i++) {System.out.println("大小:");VolumInfo volumInfo = new Main3().new VolumInfo();// valueStrString valueStr = scan.nextLine();volumInfo.setValueStr(valueStr);// valuedouble num = Double.parseDouble(valueStr.substring(0, valueStr.length()-1));if(valueStr.contains("G")) {num = num * 1000;}else if(valueStr.contains("T")) {num = num * 1000 * 1000;}volumInfo.setValue(num);volumInfos.add(volumInfo);}// sortedList<VolumInfo> sortedVolumInfos =volumInfos.stream().sorted(Comparator.comparing(VolumInfo::getValue)).collect(Collectors.toList());// outputfor(VolumInfo v: sortedVolumInfos) {System.out.println(v.getValueStr());}}class VolumInfo {private double value;private String valueStr;public double getValue() {return value;}public void setValue(double value) {this.value = value;}public String getValueStr() {return valueStr;}public void setValueStr(String valueStr) {this.valueStr = valueStr;}    }
}

华为OD机试题-java-磁盘容量排序相关推荐

  1. 【2022华为od机试题】【JAVA】【刷题子】华为od机试题:磁盘容量排序(AC:100%)

    (注意:答案仅作为参考,但不作为最优解:实际机试中下面代码ac通过率:100%.如有更好优化的空间欢迎文章下方进行留言讨论) 一.题目与题目分析 题目 磁盘的容量v是有M.G.T三个等级的单位.(其中 ...

  2. 华为OD机试题:身高体重排序

    题目描述 身高从低到高,身高相同体重从轻到重,体重相同维持原来顺序 示例 输入: 4 100 100 120 130 40 30 60 501 输出: 2 1 3 4 输入: 3 90 110 90 ...

  3. 华为OD机试题,用 Java 解【机器人走迷宫】问题

    最近更新的博客 华为OD机试题,用 Java 解[停车场车辆统计]问题 华为OD机试题,用 Java 解[字符串变换最小字符串]问题 华为OD机试题,用 Java 解[计算最大乘积]问题 华为OD机试 ...

  4. 华为OD机试题,用 Java 解【火星文计算 2】问题

    最近更新的博客 华为OD机试题,用 Java 解[停车场车辆统计]问题 华为OD机试题,用 Java 解[字符串变换最小字符串]问题 华为OD机试题,用 Java 解[计算最大乘积]问题 华为OD机试 ...

  5. 华为OD机试题,用 Java 解【最多等和不相交连续子序列】问题

    最近更新的博客 华为OD机试题,用 Java 解[停车场车辆统计]问题 华为OD机试题,用 Java 解[字符串变换最小字符串]问题 华为OD机试题,用 Java 解[计算最大乘积]问题 华为OD机试 ...

  6. 华为od机试题4 真题

    华为od机试题 真题 58.处理所有作业总时长 53.最大停车距离 52.磁盘容量排序 51.非严格递增连续数字序列长度 50.均分糖果 48.没有相同字符的元素长度乘积的最大值 47. 相对开音节结 ...

  7. 华为od机试题1 真题

    华为od机试题 真题 86.射击比赛成绩排序 85.计算屏幕字母数量 84.组成最大数字 82.输出字符串中最小数字 81.数字4的个数 80.整数排列 79.多条件排列 78.时间排序 以下题目附带 ...

  8. 华为od机试题9 真题

    华为od机试题 真题 9.寻找重复字符 7.字符串翻转 6.小朋友身高排序 5.CPU最少执行时间 4.猴子爬山 3.输出信元的值 2.指定元素对最小和 1.勾股数元组 以下题目附带Java解法,是我 ...

  9. 华为od机试题6 真题

    华为od机试题 真题 35.输出满足条件的数对 34.寻找众数中的中位数 33.分配内存 32.窗口和的最大值 31.求整数的连续自然数之和的表达式 30.矩阵的最大值 以下题目附带Java解法,是我 ...

最新文章

  1. 2018-3-13 目标改动---智能算法
  2. 网页设计必备工具 firefox Web Developer插件 CSS工具组教程
  3. 使用ElasticSearch,Kibana,ASP.NET Core和Docker可视化数据
  4. 关于arguments的用法
  5. 互联网早报 | 3月16日 星期二 | 微信AI直播助理开放内测;汽车之家港交所挂牌上市;美团App内测“群聊”功能...
  6. 【AI视野·今日Robot 机器人论文速览 第九期】Thu, 17 Jun 2021
  7. 我的Linux折腾史
  8. 夜间灯光数据的ARCGIS操作处理笔记
  9. js行结尾,是否必须写分号
  10. k8s-----安全机制
  11. php怎么做网站?如何用PHP开发一个完整的网站?
  12. 下属被阿里挖角的那个早晨,我开始想念周鸿祎!
  13. 【React】React三大属性:Props、State、Refs
  14. 华为内部访谈:凡是溜须拍马的员工,一律拿掉
  15. vmware虚拟机上网设置教程(vmware虚拟机设置网络)
  16. Flux脚本语言基础使用-函数定义(InFluxDB 查询语言)
  17. 细解网易宝系统架构之高可用篇
  18. 什么是DNS?DNS的作用?
  19. 离散数学图论期末复习
  20. 云闪付怎么对接三方php,第三方支付-银联云闪付开发教程

热门文章

  1. 20190124——觉今是而昨非 Java模板模式
  2. LaTeX初学者模板 控制纸张大小
  3. 把gitlib从http修改成https访问
  4. metaq主要命令——————学习
  5. ITSM确保IT服务台敏捷性的5大实践
  6. 给忙碌者的5G基础知识课(二)——香农的诅咒
  7. 巨坑!Maven无法导入部分Jar包
  8. 基于dockerfile制作apache镜像
  9. 美国疫情升级,Waymo暂停旗下所有服务
  10. 终于等到你!2020年最新中科院期刊分区表正式公布!