20155227第十二周课堂实践
本周IDEA出现问题,无法在课堂上完成实践。
1.教材代码测试
2.在IDEA中以TDD的方式对String类和Arrays类进行学习
-
测试相关方法的正常,错误和边界情况
-
String类
-
charAt
-
split
-
Arrays类
-
sort
-
binarySearch
3.模拟实现Linux下Sort -t : -k 2的功能。参考 Sort的实现。
sort命令它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。
语法:sort(选项)(参数)
常用选项:
-b:忽略每行前面开始出的空格字符;
-c:检查文件是否已经按照顺序排序;
-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
-f:排序时,将小写字母视为大写字母;
-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;
-m:将几个排序号的文件进行合并;
-M:将前面3个字母依照月份的缩写进行排序;
-n:依照数值的大小排序;
-o<输出文件>:将排序后的结果存入制定的文件;
-r:以相反的顺序来排序;
-t<分隔字符>:指定排序时所用的栏位分隔字符; +<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
对sort命令,我们要注意:
-t<分隔字符>:指定排序时所用的栏位分隔字符;
-k: 针对第几列进行排序
-n:依照数值的大小排序;
-r:以相反的顺序来排序;
我们要如何实现Linux下Sort的功能对一个字符串数组进行排序呢?
通过查询API发现,java.util.Arrays
类和java.util.Collections
类中都实现了sort
方法,我们只需要调用这些方法就可以了。
/**
* Created by Administrator on 2017/5/10 0010.
*/
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);
}
}