1.實驗要求html
測試要點:本提交點考查JUnit會不會使用,測試用例至少要包含正常狀況,錯誤狀況,邊界狀況的測試java
2.運行結果截圖git
3.代碼連接:
MyUtil.java
MyUtilTest.java編程
StringBuffer
1.實驗要求設計模式
2.實驗結果截圖
ide
3.代碼連接:
MyDoc.java函數
1.實驗要求:
實驗二 Java面向對象程序設計(http://www.cnblogs.com/rocedu/p/4472842.html)單元測試
2.實驗結果截圖學習
3.代碼連接:
Complex.java
ComplexTest.java測試
1.實驗要求:
提交:單元測試代碼和運行成功截圖及碼雲上代碼連接,截圖要加上學號水印
參考http://www.cnblogs.com/rocedu/p/6736847.html
任務:以TDD的方式開發一個複數類Complex,要求以下:
// 定義屬性並生成getter,setter
double RealPart; double ImagePart;
// 定義構造函數
public Complex() public Complex(double R,double I )
//Override Object
public boolean equals(Object obj) public String toString()
// 定義公有方法:加減乘除
Complex ComplexAdd(Complex a) Complex ComplexSub(Complex a) Complex ComplexMulti(Complex a) Complex ComplexDiv(Complex a)
2.實驗過程:
(1)僞代碼:
屬性: 定義實部; 定義虛部; 設置複數的實部; 設置複數的虛部; 返回複數的實部; 返回複數的虛部; 方法: 定義構造函數 定義公有方法(加減乘除) 將結果轉化成字符串形式輸出
(2)測試代碼:
import junit.framework.TestCase; import org.junit.Test; public class ComplexTest extends TestCase { Complex c1 = new Complex(2,1); Complex c2 = new Complex(0,3); Complex c3 = new Complex(-1,-1); @Test public void testgetRealPart() throws Exception { assertEquals(0.0,Complex.getRealPart(0.0)); assertEquals(-2.0,Complex.getRealPart(-2.0)); assertEquals(6.0,Complex.getRealPart(6.0)); } @Test public void testComplexAdd() throws Exception{ assertEquals("2.0+4.0i",c1.ComplexAdd(c2).toString()); assertEquals("-1.0+2.0i",c2.ComplexAdd(c3).toString()); assertEquals("1.0",c1.ComplexAdd(c3).toString()); } @Test public void testComplexSub() throws Exception{ assertEquals("2.0 -2.0i",c1.ComplexSub(c2).toString()); assertEquals("1.0+4.0i",c2.ComplexSub(c3).toString()); assertEquals("-3.0 -2.0i",c3.ComplexSub(c1).toString()); } @Test public void testComplexMulti() throws Exception { assertEquals("-3.0+6.0i",c1.ComplexMulti(c2).toString()); assertEquals("3.0 -3.0i",c2.ComplexMulti(c3).toString()); assertEquals("-1.0 -3.0i",c3.ComplexMulti(c1).toString()); } @Test public void testComplexDiv() throws Exception { assertEquals("0.6666666666666666+0.3333333333333333i",c1.ComplexDiv(c2).toString()); assertEquals("-1.5 -1.5i",c2.ComplexDiv(c3).toString()); assertEquals("-0.6 -0.6i",c3.ComplexDiv(c1).toString()); } }
(3)測試代碼運行成功截圖:
(4)產品代碼:
public class Complex { private double r; private double i; public Complex(double r, double i) { this.r = r; this.i = i; } public static double getRealPart(double r) { return r; } public static double getImagePart(double i) { return i; } public Complex ComplexAdd(Complex c) { return new Complex(r + c.r, i + c.i); } public Complex ComplexSub(Complex c) { return new Complex(r - c.r, i - c.i); } public Complex ComplexMulti(Complex c) { return new Complex(r * c.r - i * c.i, r * c.i + i * c.r); } public Complex ComplexDiv(Complex c) { return new Complex((r * c.i + i * c.r)/(c.i * c.i + c.r * c.r), (i * c.i + r * c.r)/(c.i * c.i + c.r * c.r)); } public String toString() { String s = " "; if (i > 0) s = r + "+" + i + "i"; if (i == 0) s = r + ""; if (i < 0) s = r + " " + i + "i"; return s; } }
1.實驗要求:
使用WhiteStarUML對實驗二中的代碼進行建模,發類圖的截圖,加上學號水印。
參考(http://www.cnblogs.com/rocedu/p/6736847.html)
2.實驗截圖:
Q1:在安裝Junit
時,按照老師給的教程,點擊Install JetBrains plugin...
然而並無發現JUnitGenerator V2.0
.
A1:通過個人學習夥伴的指點,而且本身在網上查找了一下,找到了原來學長寫的一篇關於安裝Junit的博客,原來,要點擊如圖所示的Browse repositories
,就能搜到了,安裝好就如圖所示了。
Q2:在使用Junit學習時,發如今安裝好junit.jar
,仍然沒法使用。
A2:在好友的指導下,在Everything
中須要安裝junit.jar
和junit-4.12.jar
,如圖所示,在Everything
中查找到兩個包,並安裝,安裝好後如圖所示。
Q3:在編寫實驗2的測試碼時,出現瞭如圖所示錯誤。
A3:通過錯誤提示,應該是下標越界問題,因而,我檢查了代碼中是否有錯誤的地方,結果發現了本身因馬虎所犯下的錯誤,如圖所示。因此,你們必定要引覺得戒。
Q4:本次實驗,婁老師讓咱們本身練習畫UML圖,以前本身一直沒有過重視這個知識點,因而我借這個機會總結了一下易混符號的區別。
A4:
1.實線箭頭和虛線箭頭:
實線箭頭表明的是關聯關係。若是A類中的成員變量是用B類聲明的對象,那麼A和B的關係是關聯關係,則是 B指向A。
虛線箭頭表明的是依賴關係。若是A類中某個方法的參數是B類聲明的對象或某個方法返回的數據類型是B類對象,那麼A和B是依賴關係,則爲B指向A。
2.實線空三角和虛線空三角:
實線空三角是指繼承關係,起始端是子類的UML圖,終點端是父類的UML圖。
虛線空三角用於實現接口,UML經過使用虛線鏈接類和它所實現的接口,虛線的起始端是類,終點端是它所實現的接口。
本次實驗內容較爲豐富,首先咱們學習了單元測試和TDD,學會利用這兩種方式來編寫程序,起初,老師給的博客中常常提到「測試碼」一詞,現在,本身也學會寫測試碼,對本身從此的編程頗有好處。其次,本身對UML圖的理解也更爲深刻,體會到了UML圖與代碼聯繫的緊密性,本次實驗收穫頗豐。
步驟 | 耗時 | 百分比 |
---|---|---|
需求分析 | 12min | 10% |
設計 | 10min | 8% |
代碼實現 | 48min | 40% |
測試 | 40min | 34% |
分析總結 | 10min | 8% |