20162315 2016-2017-2 《程序設計與數據結構》第5周學習總結
教材學習內容總結
本周學習內容為第五章:編寫類。
private只可用於所定義的類中,在類的外面不能引用。
將編寫的類和測試或應用類放在一個文件夾,用*.java便可完成類與測試或者應用類的編譯。
教材學習中的問題和解決過程
- 問題1:PP5.5中 不明白“count+1:0 ”的表達方法會產生什么樣的結果,這個程序中的連續三次出現正面朝上(即達到goal=3如何實現)
- 問題1解決方案:詢問結對搭檔袁逸灝后得知這是一個選擇句。前一個判斷句決定了count是選擇+1還是歸0。通過連續三次+1來達到goal=3來表示連續三次朝上。
代碼調試中的問題和解決過程
- 問題1:編寫了5.1之后直接編譯發現不存在Die這個類。
- 問題1解決方案:讀了后面的書之后發現Die是自己編寫的類。應該先編譯運行類再進行測試類或者應用類的項目的編譯和運行。后來老師教了簡單方法:把它們放在一個文件夾,直接用*.java來編譯運行文件夾下的所有java文件。
代碼托管

上周考試錯題總結
錯題1:Which of the statements is true about the following code snippet?(對於下面的代碼段,說法正確的是?)
int[] array = new int[25];
array[25] = 2;
A .
The integer value 2 will be assigned to the last index in the array.(整數2會賦給數組中最后一個元素)
B .
The integer value 25 will be assigned to the second index in the array.(整數25會賦給數組中的第2個索引)
C .
The integer value 25 will be assigned to the third value in the array. (整數25會賦給數組中的第3個元素)
D .
This code will result in a compile-time error.(代碼會產生編譯時錯誤)
E .
This code will result in a run-time error. (代碼會產生運行時錯誤)
答案:D 錯選:A
這道題上次錯了我還沒發現,這次才看見。感謝這道題讓我發現了我看書的一個重大問題。這個數組其實只定義0到24這25個位置,第25位是空的,第二句越界定義了,是無效的。之前讀書我以為是定義26個數字:0到25.
結對及互評
這周感謝袁逸灝同學屢次幫忙,幫我解答對書上例題代碼的疑惑。
袁逸灝同學PP5.6的設計給了我很大的啟發,比如Box類中用布爾表達式返回第一次盒子的empty情況和Boxtest更新Box對象的設計。
其他
這周教材內容縮減為一章了,但是這一章的量確實十分巨大而且我感覺非常難懂,還好有不懂的地方可以就近找同學或者網上看答疑論壇的解答,但是感覺教材的學習的確是越來越吃力了。
學習進度條
| 代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
|---|---|---|---|---|
| 目標 | 5000行 | 30篇 | 400小時 | |
| 第一周 | 150/150 | 1/1 | 4/4 | |
| 第二周 | 300/450 | 1/2 | 14/18 | |
| 第三周 | 300/750 | 1/3 | 14/32 | |
| 第四周 | 450/1200 | 2/5 | 14/50 | |
| 第五周 | 600/1800 | 1/6 | 12/64 |
-
計划學習時間:10小時
-
實際學習時間:12小時
