int targetIndex = list.indexOf(target);//此中的list.indexOf()方法是幹嗎的? if (targetIndex != -1) list.set(targetIndex, newCourse);
解答:此方法是javaAPI 中 java.util.List接口中的方法,做用是查到傳入元素的索引,沒有則返回-1.html
public Iterator<Course> iterator() { return list.iterator(); }
targetIndex = skip;
、targetIndex = (targetIndex + skip) % list.size();
改爲targetIndex = skip-1;
、targetIndex = (targetIndex + skip-1) % list.size();
代碼如圖:java
public void add(T element) { if (!(element instanceof Comparable)) throw new NonComparableElementException("OrderedList"); Comparable<T> comparableElement = (Comparable<T>)element; LinearNode<T> list=new LinearNode<T>(element); if(head==null) {//此處有錯,請特別注意! list.setNext(head); head =tail= list; } else { LinearNode<T> current = null,current1 = head; while (current1.getNext() != null && comparableElement.compareTo(current1.getElement()) > 0) { current = current1; current1=current1.getNext(); } if(current1.getNext()==null) { tail.setNext(list); tail=list; } else//此處有錯,請特別注意!這是引發報錯的地方 { current.setNext(list); list.setNext(current1); } } } }
public void add(T element) { if (!(element instanceof Comparable)) throw new NonComparableElementException("OrderedList"); Comparable<T> comparableElement = (Comparable<T>)element; second_term.second_week.LinearNode<T> temp = new second_term.second_week.LinearNode<T>(element); if (count==0) { head = temp; tail = temp; } else { second_term.second_week.LinearNode<T> current0=null,current1=head; while(current1.getNext()!=null&&comparableElement.compareTo(current1.getElement())>0){//當插入第二個元素時,current1.getNext()==null current0=current1; current1= current1.getNext(); } if (current1.getNext()==null){//此時須要與第一個元素比較,有可能比第一個元素小。 if (comparableElement.compareTo(current1.getElement())>0){ tail.setNext(temp); tail =temp;} else{ temp.setNext(head); tail = head; head = temp; } } else{//此處當已經插入 5 6 時,再插入2時須要分開判斷,首先2與5比較,current0=null,current1 = head, if (comparableElement.compareTo(head.getElement())<0){ head =temp; temp.setNext(current1); tail = current1; } else{ current0.setNext(temp);//若是不分開判斷,current0位null,沒有next,因此報空指針異常 temp.setNext(current1); } } } count++; }
錯題一:
理解狀況:課本上的這張圖大概能講解:git
理解狀況:多態的定義是容許不一樣的對象對同一消息做出不一樣的響應,因此只要向不一樣對象發出同一指令就OK了。編程
理解狀況:若是一個異常沒有被捕獲,他會沿着方法調用棧向下移,直到它被捕獲,若是異常被捕獲,就不會被傳播。調用該方法的另外一個方法就不會拋出異常。數組
錯題四:
理解狀況:數組聲明時要求聲明大小,當達到數組容量時,將調用方法進行擴容。安全
理解狀況:編程語言的底層實現就是數據結構。markdown
(上半年敲了7200行)
數據結構
- 隊友很會排版,並無像個人博客同樣看起來頭重腳輕的感受。 - 隊友的文字樣式豐富,值得本身學習。
- [20172310]( http://www.cnblogs.com/Qiuxia2017/) - 結對學習內容: 1. 對實驗一碰見的問題進行討論。 2. 教材第六章內容的共同窗習。 3. 第六章代碼編寫的討論
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 260/0 | 1/1 | 05/05 | |
第二週 | 300/560 | 1/2 | 13/18 | |
第三週 | 212/772 | 1/4 | 21/39 | |
第四周 | 330/1112 | 2/7 | 21/60 |