20175214 MySort(选做)
一、题目要求
- 模拟实现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://gitee.com/fzlzc/java2019/commit/fe575839f2f213be22e4964de9f46d81e5809c37)
20175214 MySort(选做)的更多相关文章
- MySort(选做)
一.题目要求 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设计) 参考 Sort的实 ...
- MySort(选做)的实现
MySort(选做)的实现 题目内容 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设 ...
- 2017-2018-2 20165312 课下选做 MySort
2017-2018-2 20165312 课下选做 MySort 题目描述 模拟实现Linux下Sort -t : -k 2的功能,参考 Sort的实现. import java.util.*; pu ...
- 课下选做作业MySort
20175227张雪莹 2018-2019-2 <Java程序设计> 课下选做作业MySort 要求 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort ...
- [SDOI2016]部分题选做
听说SDOI蛮简单的,但是SD蛮强的.. 之所以是选做,是因为自己某些知识水平还不到位,而且目前联赛在即,不好花时间去学sa啊之类的.. bzoj4513储能表&bzoj4514数字配对 已写 ...
- 20175221 《Java程序设计》迭代和JDB(课下作业,选做):
20175221 <Java程序设计> 迭代和JDB(课下作业,选做): 任务详情 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功 ...
- MyOD(课下作业,选做)
MyOD(课下作业,选做) 代码要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.b ...
- 迭代和JDB(课下作业,选做)
迭代和JDB(课下作业,选做) 题目要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图 ...
- 20175312 2018-2019-2 《Java程序设计》第6周课下选做——类定义
20175312 2018-2019-2 <Java程序设计>第6周课下选做--类定义 设计思路 1.我觉得Book其实就是一个中转的作用,由测试类Bookself通过Book输入数据,然 ...
随机推荐
- jdbc原生操作数据库
jdbc原生操作数据库流程: 第一步:Class.forName()加载数据库连接驱动: 第二步:DriverManager.getConnection()获取数据连接对象; 第三步:根据 SQL 获 ...
- day1-css练习[新浪首页顶部栏]
直接贴代码吧: html代码 <div class="border-01"> <div class="border-001"> < ...
- js中——限制文本框输入非数字
//先把非数字的都替换掉,除了数字和.和/ obj.value = obj.value.replace(/[^\-\d./]/g, ""); //必须保 ...
- vue下载后台传过来的乱码流的解决办法
后台返回的乱码流 解决办法: 请求方式用的是axios,主要加关键的 {responseType: 'blob'} axios封装 export function postDownload(url, ...
- dubbo和zookeeper结合使用
1.相关依赖引入 阿里的dubbo包含了spring相关内容,引入依赖时,需要排除,使用我们自己项目中的spring依赖 <!-- start..............dubbo....... ...
- js数组的所有方法
修改器方法 下面的这些方法会改变调用它们的对象自身的值: Array.prototype.copyWithin() 在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值. Array.pr ...
- Delphi CloseHandle函数
- 《python解释器源码剖析》第1章--python对象初探
1.0 序 对象是python中最核心的一个概念,在python的世界中,一切都是对象,整数.字符串.甚至类型.整数类型.字符串类型,都是对象.换句话说,python中面向对象的理念观测的非常彻底,面 ...
- 启动Activity的单独事件方法2
1.Button中创建android:onClick="sendmessage" sendmessage方法名 //MAIN_acitivity创建这个同名独立方法 响应Butto ...
- Linux系统的grub和BIOS加密
启动流程: BIOS ——> MBR(主引导记录,找到系统在哪个分区) ——> boot loader(grub) ——>kernel(内核)——>进入启动级别init 硬盘的 ...