一、题目要求

  • 注意:研究sort的其他功能,要能改的动代码,需要答辩

  • 模拟实现Linux下Sort -t : -k 2的功能。

  • 要有伪代码,产品代码,测试代码(注意测试用例的设计)

  • 参考 Sort的实现。提交博客链接。

  • 必须答辩才能得分

二、代码

1.伪代码

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

2.产品代码

import java.util.*;

public class MySort {
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"}; System.out.println("Before sort:");//输出排序前字符串数组
for (String str: toSort)
System.out.println(str); int [] a=new int[toSort.length];
for(int i=0;i<toSort.length;i++){//对toSort每一个元素用split进行划分,并储存进字符串数组list中
String [] list=toSort[i].split(":");
a[i]=Integer.parseInt(list[1]);//将list中第二个元素,即toSort中第二列元素存进a中
}
Arrays.sort(a); System.out.println("After sort:");
for (int i = 0; i < a.length; i++)//对a中每个元素
for (int j = 0; j < toSort.length; j++)//在toSort中每一个元素的第二列中比较
if (a[i] == Integer.parseInt((toSort[j].split(":"))[1]))//如果二者相等
System.out.println(toSort[j]);//就输出该项元素
}
public static int StringTest1(String str){
int a;
String [] list=str.split(":");
a=Integer.parseInt(list[1]);//将list中第二个元素,即toSort中第二列元素存进a中
return a;
}
public static int[] StringTest2(String[] toSort){
int [] a=new int[toSort.length];
for(int i=0;i<toSort.length;i++){//对toSort每一个元素用split进行划分,并储存进字符串数组list中
String [] list=toSort[i].split(":");
a[i]=Integer.parseInt(list[1]);//将list中第二个元素,即toSort中第二列元素存进a中
}
Arrays.sort(a);
return a;
}
}

3.测试代码

import junit.framework.TestCase;
import org.junit.Test; public class MySortTest extends TestCase {
String [] toSort = {
"aaa:10:1:1",
"ccc:30:3:4",
"bbb:50:4:5",
"ddd:20:5:3",
"eee:40:2:20"};
@Test
public void testl() {
assertEquals(10,MySort.StringTest1("aaa:10:1:1"));
}
public void test2() {
assertEquals(20,MySort.StringTest2(toSort)[1]);
}
}

三、实验截图

SP.参考资料

1.20175214 MySort(选做)

2.MySort作业与IO-Myhead

3.课下选做作业MySort

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

  1. MySort(选做)的实现

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

  2. 20175214 MySort(选做)

    一.题目要求 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设计) 参考 Sort的实现.提交博客链接. 二.设计思路 在命令行中输入需要的参 ...

  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. c++11 用户定义字面量

    c++11 用户定义字面量 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #inc ...

  2. sql简易教程

    讲干货,不啰嗦,本教程主要基于Mysql数据库,讲解sql的基本使用. 数据库主要包括增.删.改.查等基本操作,以下为设计到的常用的sql语句: 一.查 1.select 语法查询 SELECT co ...

  3. 80C51串行口

    串行通信是指 使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度 单工.半双工.全双工 单工数据传输只支持数据在一个方向上传输 半双工数据传输允许数据在两个方向上传输,但是,在 ...

  4. LaTeX中Python代码的语法高亮

    LaTeX中Python代码的语法高亮 本文中,"{}"中的字母为LaTeX或Python的包名,只有"Pygments"是Python的包,其他都是LaTeX ...

  5. C语言编译过程及相关文件

    1,C程序编译步骤 C代码编译成可执行程序经过4步: 1)预处理:宏定义展开.头文件展开.条件编译等,同时将代码中的注释删除,这里并不会检查语法 2)编译:检查语法,将预处理后文件编译生成汇编文件 3 ...

  6. C# 填充无效,无法被移除

    1.本文采用微软的 RijndaelManaged 命名空间: System.Security.Cryptography Assemblies: mscorlib.dll, netstandard.d ...

  7. python多继承下的查找顺序-MRO原则演变与C3算法

    在python历史版本中的演变史 python2.2之前: MRO原则: 只有经典类,遵循深度优先(从左到右)原则, 存在的问题:在有重叠的多继承中,违背重写可用原则 解决办法是再设计类的时候不要设计 ...

  8. Hadoop_33_Hadoop HA的搭建

    Hadoop HA的搭建,可参考链接:https://blog.csdn.net/mrbcy/article/details/64939623 说明:    1.在hadoop2.0中通常由两个Nam ...

  9. 如何让Python2与Python3共存

    一.摘要 最近做服务测试的时候,实在被第三方模块折磨的够呛,从安装就存在兼容Py2和Py3的问题,产品提供的服务越来越多,做服务验证也不得不跟进支持测试,这眼前的Hadoop/Hive/Hbase/H ...

  10. python 单例与数据库连接池 及相关选择

    单例:专业用来处理连接多的问题(比如连接redis,zookeeper等),全局只有一个对象 单例代码 def singleton(cls): instances = {} def _singleto ...