實驗二《Java面向對象》實驗報告

1、程序設計中臨時變量的使用

import java.util.Arrays;
public class Array {
    public static void main(String[] args) {
        //定義一個數組
        int arr[] = {1,2,3,4,5,6,7,8};
        //打印原始數組的值
       for(int i:arr){
            System.out.print(i + " ");
        }
        System.out.println();
        // 刪除上面數組中的5
        for(int i:arr){
            if(arr[i-1]==5)
                while (i < arr.length) {
                    arr[i - 1] = arr[i];
                   i++;
                }
        }
        arr[arr.length - 1]=0;
        //數組縮容
        // arr = Arrays.copyOf(arr, arr.length-1);
        //打印出 1 2 3 4 6 7 8 0


        for(int i:arr){

            System.out.print(i + " ");

        }

        System.out.println();
        // 添加代碼再在4後面5
        for(int i:arr) {
            if (arr[i - 1] == 4) {
                int j = arr.length - 1;
                while (j > i ) {
                    arr[j] = arr[j - 1];
                    j--;
                }
                arr[i] = 5;
            }
        }
        //打印出 1 2 3 4 5 6 7 8
        for(int i:arr){
            System.out.print(i + " ");
        }
        System.out.println();
    }

}

2、參考單元測試提交最後三個測試用例都經過的截圖,截圖上要有畫圖加水印,輸入本身的學號。

1.三種代碼
僞代碼:以簡潔的天然語言代表設計步驟
產品代碼:用以實現特定功能的程序或機器語言
測試代碼:用以對產品代碼進行測試的代碼
21)僞代碼html

百分制轉五分制:
若是成績小於60,轉成「不及格」
若是成績在60與70之間,轉成「及格」
若是成績在70與80之間,轉成「中等」
若是成績在80與90之間,轉成「良好」
若是成績在90與100之間,轉成「優秀」
其餘,轉成「錯誤」java

2)產品代碼數組

public class MyUtil{
   public static String percentage2fivegrade(int grade){
       //若是成績小於0,轉成「錯誤」
       if ((grade < 0))
           return "錯誤";
       //若是成績小於60,轉成「不及格」
       else if (grade < 60)
           return "不及格";
       //若是成績在60與70之間,轉成「及格」
       else if (grade < 70)
           return "及格";
       //若是成績在70與80之間,轉成「中等」
       else if (grade < 80)
           return "中等";
       //若是成績在80與90之間,轉成「良好」
       else if (grade < 90)
           return "良好";
       //若是成績在90與100之間,轉成「優秀」
       else if (grade < 100)
           return "優秀";
       //若是成績大於100,轉成「錯誤」
       else
           return "錯誤";
   }
}

3)測試代碼ide

public class MyUtilTest {
    public static void main(String[] args) {
        //測試邊界狀況
        if(MyUtil.percentage2fivegrade(0) != "不及格")
            System.out.println("test failed 1!");
        else if(MyUtil.percentage2fivegrade(60) != "及格")
            System.out.println("test failed 2!");
        else if(MyUtil.percentage2fivegrade(70) != "中等")
            System.out.println("test failed 3!");
        else if(MyUtil.percentage2fivegrade(80) != "良好")
            System.out.println("test failed 4!");
        else if(MyUtil.percentage2fivegrade(90) != "優秀")
            System.out.println("test failed 5!");
        else if(MyUtil.percentage2fivegrade(100) != "優秀")
            System.out.println("test failed 6!");
        else 
            System.out.println("test passed!"); 
    }
}

3、參考積極主動敲代碼使用JUnit學習Java

以 TDD的方式研究學習StringBuffer,提交你的單元測試用例和測試經過的截圖,截圖要加上學號水印。
1.TDD的基本思路就是經過測試來推進整個開發的進行。而測試驅動開發技術並不僅是單純的測試工做。
需求向來就是軟件開發過程當中感受最很差明確描述、易變的東西。這裏說的需求不僅是指用戶的需求,還包括對代碼的使用需求。不少開發人員最懼怕的就是後期還要修改某個類或者函數的接口進行修改或者擴展,爲何會發生這樣的事情就是由於這部分代碼的使用需求沒有很好的描述。測試驅動開發就是經過編寫測試用例,先考慮代碼的使用需求(包括功能、過程、接口等),並且這個描述是無二義的,可執行驗證的。
經過編寫這部分代碼的測試用例,對其功能的分解、使用過程、接口都進行了設計。並且這種從使用角度對代碼的設計一般更符合後期開發的需求。可測試的要求,對代碼的內聚性的提升和複用都很是有益。所以測試驅動開發也是一種代碼設計的過程。函數

/** 測試代碼 測試驅動開發
import junit.framework.TestCase;
import org.junit.Before;
import org.junit.Test;
public class StringBufferDemo01Test extends TestCase {
    StringBuffer a = new StringBuffer("StringBuffer01");//測試14個字符串
    StringBuffer b = new StringBuffer("StringBuffer01StringBuffer01");//測試28個字符串
    StringBuffer c = new StringBuffer("StringBuffer01StringBuffer01StringBuffer01");//測試42個字符串
    @Test
    public void tsetcharAt() throws Exception{
        assertEquals('S',a.charAt(0));
        assertEquals('B',a.charAt(6));
        assertEquals('1',b.charAt(11));
    }
    @Test
    public void testcapacity() throws Exception{
        assertEquals(30,a.capacity());
        assertEquals(44,b.capacity());
        assertEquals(58,c.capacity());
    }
    @Test
    public void testlength() throws Exception{
        assertEquals(14,a.length());
        assertEquals(28,b.length());
        assertEquals(42,c.length());
    }
    @Test
    public void testindexOf() throws Exception{
        assertEquals(0,a.indexOf("Str"));
        assertEquals(12,b.indexOf("01"));
        assertEquals(8,c.indexOf("ff"));
    }
}

5、任務:以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)
測試

6、使用StarUML對實驗二中的代碼進行建模,發類圖的截圖,加上學號水印。

相關文章
相關標籤/搜索