20155205 《Java程序设计》0510课上实践博客
一、教材代码检查-p98
未提交成功原因: 一开始在iterm中运行,但是结果出错,没有时间提交了。这个提交其实很简单,没有提交成功也是我自己当初没有好好调试的过。
二、Arrays和String单元测试
在IDEA中以TDD的方式对String类和Arrays类进行学习
测试相关方法的正常,错误和边界情况
-
String类
- charAt
- split
-
Arrays类
- sort
- binarySearch
分析: 参考API中binary search的功能
三、MySort
模拟实现Linux下Sort -t : -k 2的功能。参考 Sort的实现。
分析:将tosort用spilt分开后会有四个数组,所以要在后面说明将第几个值赋予给tmp数组。这里学习到一个spilt的用法:
也可以把tmp定义为二维数组来接受tosort的赋值。
四、总结
- 循环数组还可以用string的增强式for循环语法,更加简洁:
for(int[] row :cords)
{
for(int value :row)
{
System.out.printf("%2d",value);
}
}
调用方法时不能直接写!比如用binarySearch,一定要是Arrays.binarySearch()!课上写代码时因为这个错误浪费了很多时间!
数组的初始化(以下三种方式都可以)
String[] str = new String[5]; //创建一个长度为5的String(字符串)型的一维数组
String[] str = new String[]{"","","","",""};
String[] str = {"","","","",""};
- binarySearch方法查找不到时返回 (-(插入点) - 1)是什么意思?
自己动手敲了一下代码就懂了,意思就是如果找不到,就返回插入点为负再减一。
- 学习到了如何将测试代码写的整洁整齐。之前都是写一个测试类,需要什么变量定义什么变量,现在学会了先把这些变量定义到最前面。