一、题目要求

  • 模拟实现Linux下Sort -t : -k 2的功能。
  • 要有伪代码,产品代码,测试代码(注意测试用例的设计)
  • 参考 Sort的实现。提交博客链接。

二、设计思路

  • 在命令行中输入需要的参数;
  • 使用split方法将每一行分解获得需要的可供排序的数组;
  • 对获得的数组排序;
  • 将排序后的数组输出。

三、代码实现

  • 伪代码:

    • 输出排序前的数组;
    • 命令行输入参数;
    • 判断参数是否符合要求;
    • 对排序好的数组遍历并输出第二列元素相同的toSort数组。
  • 产品代码:

    import java.util.*;
    public class MySort {
    public void mySort(String[] toSort, int k) {
    System.out.println("Before sort:");
    for (String str : toSort) {
    System.out.println(str);
    }
    int length = toSort.length;
    int[] a = new int[length];
    if (k == 1) {
    for (int i = 0; i < length; i++) {
    a[i] = Integer.parseInt(toSort[i].split(":")[k]);
    }
    }
    Arrays.sort(a);
    System.out.println("After sort:");
    for (int i = 0; i < length; i++) {
    for (int j = 0; j < length; j++) {
    if (a[i] == Integer.parseInt(toSort[j].split(":")[k])) {
    System.out.println(toSort[j]);
    }
    }
    }
    }

}


- 测试代码:

public class MySortTest {

public static void main(String[] args) {

String[] toSort = {"aaa:10:1:1",

"ccc:30:3:4",

"bbb:50:4:5",

"ddd:20:5:3",

"eee:40:2:20"};

int a = Integer.parseInt(args[0]);

MySort mysort = new MySort();

mysort.mySort(toSort, a);

}

}


## 四、测试结果截图
![](https://img2018.cnblogs.com/blog/1592121/201905/1592121-20190519154155074-1884191996.png) ## 五、码云链接 [码云链接](https://gitee.com/fzlzc/java2019/commit/fe575839f2f213be22e4964de9f46d81e5809c37)

20175214 MySort(选做)的更多相关文章

  1. MySort(选做)

    一.题目要求 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设计) 参考 Sort的实 ...

  2. MySort(选做)的实现

    MySort(选做)的实现 题目内容 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设 ...

  3. 2017-2018-2 20165312 课下选做 MySort

    2017-2018-2 20165312 课下选做 MySort 题目描述 模拟实现Linux下Sort -t : -k 2的功能,参考 Sort的实现. import java.util.*; pu ...

  4. 课下选做作业MySort

    20175227张雪莹 2018-2019-2 <Java程序设计> 课下选做作业MySort 要求 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort ...

  5. [SDOI2016]部分题选做

    听说SDOI蛮简单的,但是SD蛮强的.. 之所以是选做,是因为自己某些知识水平还不到位,而且目前联赛在即,不好花时间去学sa啊之类的.. bzoj4513储能表&bzoj4514数字配对 已写 ...

  6. 20175221 《Java程序设计》迭代和JDB(课下作业,选做):

    20175221 <Java程序设计> 迭代和JDB(课下作业,选做): 任务详情 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功 ...

  7. MyOD(课下作业,选做)

    MyOD(课下作业,选做) 代码要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.b ...

  8. 迭代和JDB(课下作业,选做)

    迭代和JDB(课下作业,选做) 题目要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图 ...

  9. 20175312 2018-2019-2 《Java程序设计》第6周课下选做——类定义

    20175312 2018-2019-2 <Java程序设计>第6周课下选做--类定义 设计思路 1.我觉得Book其实就是一个中转的作用,由测试类Bookself通过Book输入数据,然 ...

随机推荐

  1. O037、Rebuild Instance 操作详解

    参考https://www.cnblogs.com/CloudMan6/p/5516852.html   上一节我们学习了 snapshot ,snapshot 一个重要的作用就是对 Instance ...

  2. 【转】CnBlogs自定义博客样式

    文章有一个好的排版,将能够增加阅读者对其内容的兴趣. 本文总结了如何美化博客园中文章的部分显示样式. 1.美化文章标题的显示样式 2.增添LaTex数学公式的显示 3.目录索引的显示 4.添加文章末尾 ...

  3. logback替换log4j

    1.新建logback.xml放在src目录下(放在src下会自动加载,不需要再web.xml配置) 2.引入必要的jar包:

  4. HLSL中constant variables的packing规则

    HLSL中constant variables的packing规则 参考MSDN上的官方文档.一般而言,HLSL将数据打包为4字节对齐,此外,它不允许数据跨16字节(即4个float的vector)的 ...

  5. md加密 16位 32位

    16位大写 //生成MD5 public static String getMD5(String message) { String md5 = ""; try { Message ...

  6. vue+axios请求头封装

    import { mapMutations } from 'vuex' import axios from 'axios' import { Toast } from 'mint-ui'; impor ...

  7. HttpClient 源码阅读

    在项目中常用的HttpClient,与我们非常的亲密,为了能处理遇到的Http问题,我们应该去了解里面的机制和实现. 官方文档:http://hc.apache.org/httpcomponents- ...

  8. IPC之mqueue.c源码解读

    队列的意思应该大家都清楚,不过还有有一些细节的地方不知道,下面是一个队列的源码,因该说这是队列的一部分,不是全部.而且是linux中队列,其他各种OS中队列大同小异. /* * POSIX messa ...

  9. 【audition CC】将3分钟的歌曲无缝延长到15分钟

  10. git clone报错error: RPC failed; curl 18 transfer closed with outstanding read data remaining

    具体错误信息如下图: error: RPC failed; curl 18 transfer closed with outstanding read data remaining    fatal: ...