20175312 2018-2019-2 《Java程序设计》第8周学习总结
教材学习内容总结
已依照蓝墨云班课的要求完成了第十章的学习,主要的学习渠道是PPT,和书的课后习题。
总结如下:
1、第十章的主要内容:
泛型
链表
堆栈
散列映射
树集
树映射
2、完成了课下的“Arrays和String单元测试”以及“程序设计中临时变量的使用”
3、代码已经上传至码云,链接如下:
https://gitee.com/dky20175312/dky_20175312_warehouse_1/tree/master/jiaocaichengxu
代码调试
- Arrays和String单元测试
代码如下:
import junit.framework.TestCase;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import static java.util.Arrays.binarySearch;
import static org.junit.Assert.*;
public class StringBufferDemoTest extends TestCase {
StringBuffer a1 = new StringBuffer("StringBuffer");
StringBuffer a2 = new StringBuffer("StringBufferStringBuffer");
StringBuffer a3 = new StringBuffer("StringBuffer used by 20175312");
@Test
public void testCharAt() throws Exception//验证是否是整个字符串中的第x个字符
{
assertEquals('S',a1.charAt(0));
assertEquals('t',a2.charAt(13));
assertEquals('b',a3.charAt(18));
}
@Test
public void testcapacity() throws Exception{//验证容量
assertEquals(28,a1.capacity());
assertEquals(40,a2.capacity());
assertEquals(45,a3.capacity());
}
@Test
public void testlength() throws Exception{//验证字符串的长度
assertEquals(12,a1.length());
assertEquals(24,a2.length());
assertEquals(29,a3.length());
}
@Test
public void testindexOf(){//验证位置
assertEquals(6,a1.indexOf("Buff"));
assertEquals(1,a2.indexOf("tring"));
assertEquals(25,a3.indexOf("5312"));
}
public void StringTester() {
String string="aa:30:3:5";
String[] strings=string.split(":");
assertEquals(':',string.charAt(2));
assertEquals("30",strings[1]);
}
@Test
public void ArraysTester() {
int[] arr={1,2,5,4};
Arrays.sort(arr);
assertEquals(5,arr[3]);
assertEquals(1,binarySearch(arr,2));
}
}
- 程序设计中临时变量的使用
代码如下:
public class MyDoc {
public static void main(String[] args) {int arr[] = {1,2,3,4,5,6,7,8}; //定义一个数组 for(int i:arr)//打印原始数组的值 { System.out.print(i + " "); } System.out.println(); int MyDoc = -1; // 添加代码删除上面数组中的5 for(int i:arr){ if(arr[i] == 5){ MyDoc = i; break; } } for(int i=MyDoc+1;i<arr.length;i++){ arr[i-1] = arr[i]; } arr[arr.length-1] = 0; for(int i:arr)//打印出 1 2 3 4 6 7 8 0 { System.out.print(i + " "); } System.out.println(); for(int i:arr) // 添加代码再在4后面5 { if(arr[i] == 4){ MyDoc = i; break; } } for(int i=arr.length-1;i>MyDoc+1;i--){ arr[i] = arr[i-1]; } arr[MyDoc+1] = 5; for(int i:arr)//打印出 1 2 3 4 5 6 7 8 { System.out.print(i + " "); } System.out.println(); }
}
代码托管
statistics.sh脚本的运行结果如图:
上周考试错题总结
- 补充我上周在测试中的错题:
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 4000行 | 24篇 | 400小时 | |
第一周 | 515/515 | 1/1 | 20/20 | |
第二周 | 403/918 | 1/2 | 20/40 | |
第三周 | 586/1504 | 1/3 | 20/60 | |
第四周 | 575/2079 | 1/4 | 20/80 | |
第五周 | 268/2347 | 1/5 | 20/100 | |
第六周 | 871/3218 | 3/8 | 20/120 | |
第七周 | 975/4193 | 2/10 | 20/140 | |
第八周 | 1424/5617 | 1/11 | 20/160 |
计划学习时间:20小时
实际学习时间:20小时
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)