ArithmeticException
、NullPointerException
、IOException
等。try-catch
語句,使用try
語句包括要執行的、可能發生異常的語句,而後使用catch
子句處理異常,每一個catch
語句處理對應的異常。finally
語句,放在try-catch
語句後面,不論try
語句塊中是否發生異常,finally
都將執行。Throwable
類是Error
,Exception
類的父類throws
語句列出。不可檢測異常則不須要。拋出和捕獲是什麼意思?聽起來一個是拿來一個是丟掉,因此它們是反義詞、兩個相反的操做嗎?書上對這兩個術語的描述不甚詳細。html
經過網上資料進行總結理解:拋出異常是方法自己不進行處理,這個異常須要調用方法的時候進行處理;
捕獲異常是在方法自己本身將異常進行處理。git
if (n == 2) { result.add(1); result.add(1); } else{ result = pascal(n - 1); for (int i = 1; i > n - 1; i++) { int temp = result.get(i) + result.get(i - 1); result.set(i, temp); }
(經過for循環對第2~n-1個數字進行運算)要不是巧合,這裏差點就成了一個死循環,i > n - 1
顯然是不對的。編程
修改再檢驗,發現獲得第四行的結果數組
[1,3,4,1]
本覺得離成功還差一步,但這一步不知道哪裏走錯了,數據結構
那就根據遞歸一步一步從第2行到第4行計算,反正不長。
第2行:[1,1] √
第3行:[1,2,1] √
第4行:[1,3,4,1] ×學習
再由for一步一步分析,[1,2,1]→[1,3,1]→[1,3,4]→[1,3,4,1]
因此這裏的「4」應該是「3+1」的結果,可知問題出在取對應值時取的是計算後的值而非上一行的值。
修改:設計
if (n == 2) { result.add(1); result.add(1); } else{ result = pascal(n - 1); ArrayList<Integer> result2 = new ArrayList<Integer>(); result2.add(1); for (int i = 1; i < n - 1; i++) { int temp = result.get(i) + result.get(i - 1); result2.add(temp); } result2.add(1); result = result2; }
取另外一數組進行暫存數據,再進行計算,能夠解決問題。3d
(statistics.sh腳本的運行結果截圖)調試
錯題1: All run-time Errors throw Exceptions.
正確答案:B.false
緣由:結果顯而易見,若是咱們用try-catch語句就能夠不拋出了。code
錯題2:A try statement must have at least one catch statement, but could have many catch statements, and may or may not have a finally clause.
正確答案:A.true
緣由:點錯了,使用try以後必需要有至少一個catch,至少在IDEA中若是沒有接下來的catch就會出現紅線提示,finally是無關緊要的,有需求就能夠用。
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 195/195 | 1/4 | 20/20 | 對代碼產生了很大興趣 |
第二週 | 309/504 | 1/5 | 20/40 | 打字速度明顯提高 |
第三週 | 311/815 | 2/7 | 25/65 | 無 |
第四周 | 474/1289 | 1/8 | 30/95 | 抗...抗壓能力增強? |
第五週 | 260/1549 | 1/9 | 15/110 | 瞭解到預習的重要性 |
第六週 | 358/1907 | 2/11 | 20/130 | 打字速度明顯提高 |
第七週 | 780/2687 | 2/13 | 15/145 | 學會使用JUnit |
第八週 | 2124/4811 | 2/10 | 15/160 | 無 |
第九周 | 967/5778 | 2/12 | 20/180 | 遞歸思想的利用 |
唐才銘19:總結的問題很是多,可是都解決了;在內容總結上對於過於簡單的內容(如:漢諾塔問題,僅僅做爲一個遞歸的應用例子出現)能夠選擇略去不提。
王文彬29:對問題問得很深刻,因此解決得也挺仔細的;也有把書上的小標題直接看成總結寫入「教材內容總結」的問題,我的以爲這是過於侷限於教材了。