20155228 2017-5-10 课堂测试:MySort

20155228 2017-5-10 课堂测试:MySort

题目和要求

模拟实现Linux下Sort-t:-k2的功能。参考Sort的实现。提交码云链接和代码运行截图。

import java.util.*;
public class MySort1 {
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); Arrays.sort(toSort); System.out.println("After sort:");
for( String str : toSort)
System.out.println(str);
}
}

分析和设计

Sort-t:-k2的作用是以:为间隔,第二部分内容进行比较,从小到大进行排序的过程。

1.使用for循环把4个字符串进行切割
toSort[i].split(":")
2.每个字符串被切割成4部分,取第二部分字符串数据转换成int类型数据
Integer.parseInt(toSort[i].split(":")[1])
3.把int类型数据放入tmp数组中
Integer [] tmp = new Integer [toSort.length];
for(int i=0; i<tmp.length; i++)
tmp[i] = new Integer(Integer.parseInt(toSort[i].split(":")[3]);
4.对tmp进行排序
 Arrays.sort(tmp);

问题和解决

  • 对tmp进行排序之后然后根据tmp的数据进行输出,主要的思路是,分别考察tmp中每个元素与哪个字符串中元素相符,首先是tmp中第一个元素,依次将4个字符串的内容与第一个元素进行比较,相同就打印字符串,然后是tmp中第二个元素,以此类推,这样根据打印出来就是满足需要的结果。

代码和结果

  • 运行截图

20155228 2017-5-10 课堂测试:MySort

上一篇:hdu1297 Children’s Queue


下一篇:php获取文件后缀名格式