20155227第十二周课堂实践

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);
    }
}

posted @ 2017-05-13 12:06  20155227辜彦霖  阅读(113)  评论(0编辑  收藏  举报