1. 程式人生 > >20172330 2017-2018-2 《程序設計與數據結構》實驗二報告

20172330 2017-2018-2 《程序設計與數據結構》實驗二報告

復數 數據結構實驗 this 技術 重新 ocp mis lte intel

20172330 2017-2018-2 《程序設計與數據結構》實驗二報告

課程:《程序設計與數據結構》
班級: 1723
姓名: 李楠
學號:30
實驗教師:王誌強
實驗日期:2018年4月18日
必修/選修: 必修

1.實驗內容

1:初步掌握單元測試和TDD
2:理解並掌握面向對象三要素:封裝、繼承、多態
3:初步掌握UML建模
4:熟悉S.O.L.I.D原則
5:了解設計模式
6:完成藍墨雲上 (1)-(5)實驗。

2. 實驗過程及結果

實驗1:練習單元測試,學會寫三種代碼(偽代碼,產品代碼,測試代碼),通過Junit來進行測試。

在做實驗一的時候因為全部是按照書上一步一步做下來的,所以並沒有出現太多的問題。

測試用例截圖:
技術分享圖片

  • 代碼鏈接
  • 代碼鏈接

  • 參考資料: http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST

實驗2:以TDD的方式學習Stringbuffer類,使用Junit進行測驗。

實驗二步驟參考資料中也都包含,所以問題也不太大。最終做出來效果是正確的。
測試用例截圖:
技術分享圖片

  • 代碼鏈接

  • 參考 :積極主動敲代碼,使用JUnit學習Java (http://www.cnblogs.com/rocedu/p/4837092.html)

    實驗3:對設計用例進行擴充,按照學號除6的余數進行。從中體會OCP,DIP模式。

    在做實驗三的時候出現了很多問題,因為剛開始讀題的時候,我以為需要編寫六個類,所以便把所有的類都編寫了一遍,然後在提交的時候,要求是Double等類不應輸出整型數,但我卻輸出的是整型數
    測試用例截圖:
    技術分享圖片
    技術分享圖片
    技術分享圖片
    技術分享圖片
    技術分享圖片
    技術分享圖片
    技術分享圖片
  • 代碼鏈接

實驗4:以TDD模式開發一個Complex類,並用Junit進行測試

在做這個的時候花了很多時間,因為不知道該怎樣去計算,後來我是先初始化構造一個復數,然後確定他的實部和虛部,然後通過下面的方法計算加減乘除:

    Complex ComplexAdd(Complex c){//復數相加
        double a = c.getA();
        double b = c.getB();
        double newA = a + this.a;
        double newB = b + this.b;
        Complex Result = new Complex(newA,newB);
        return Result;
    }

    Complex ComplexMinus(Complex c){//復數相減
        double a = c.getA();
        double b = c.getB();
        double newA = a - this.a;
        double newB = b - this.b;
        Complex Result = new Complex(newA,newB);
        return Result;
    }

    Complex ComplexMulti(Complex c){//復數相乘
        double a = c.getA();
        double b = c.getB();
        double newA = a * this.a;
        double newB = b * this.b;
        Complex Result = new Complex(newA,newB);
        return Result;
    }

    Complex ComplexDiv(Complex c){//復數相除
        double a = c.getA();
        double b = c.getB();
        double newA = a / this.a;
        double newB = b / this.b;
        Complex Result = new Complex(newA,newB);
        return Result;
    }   

測試用例截圖:
技術分享圖片

  • 代碼鏈接

實驗5:使用StarUml進行建模

因為我是在下載的時候下載了黑的版本,所以和別人的不太一樣,剛開始做的時候對那些英文都看不明白,然後慢慢的摸索做了大致的輪廓。
Uml圖:
技術分享圖片

3. 實驗過程中遇到的問題和解決過程

問題1:首先是在上傳的時候,當我把在idea弄好的內容用虛擬機上傳時出現了錯誤導致我git文件出錯
問題1解決方案:在試了好多方法都沒用之後只好直接將原文件備份刪除,然後重新創建了一個項目,再把所有內容重新傳上去。
技術分享圖片

問題2:因為一直不太用idea,導致經常出現創建了太多的測試類,以及出了問題不知道該怎麽解決
問題2解決方案:在看參考資料以及問同學之後,逐漸學會了Ait+Enter快捷鍵以及處理文件運行的方法,慢慢的開始會使用,但還是不夠熟練存在很多問題,所以還是要多練習。

其他(感悟、思考等)

這次實驗對於idea的使用有了更進一步的了解,對於TDD、SOLID、OCP、DIP等知識學習之後有所掌握,還是存在許多不足,需要繼續努力。

參考資料

  • 實驗二《Java面向對象程序設計的一點說明》
  • 《Intellj IDEA 簡易教程》
  • 《實驗二 Java面向對象程序設計》

20172330 2017-2018-2 《程序設計與數據結構》實驗二報告