第三次部落格作業

2022-08-03 03:54:09 字數 2648 閱讀 8995

1、  某**管理系統,使用者註冊時,**號碼為可選輸入項,輸入格式為:區號-**號碼—分機號,中間用「-」隔開。以下為jsp頁面上的設計,且並未對輸入做任何控制。

假設系統現在需要取出中間的**號碼部分,**如下:

/**

* * 該方法根據使用者輸入取出中間的**號碼部分

* @param strphonenum **號碼,如:「0591-83279988—002」

* @return 返回號碼部分,如:「83279988」

*/public string getphonenumber(string strphonenum)

string arrphone=strphonenum.split("-");

return arrphone[1];

}

要求:(1) 寫出問題所在

1、當使用者輸入區號、**號碼、分機號時沒有用—隔開程式會報錯。

2、當使用者沒有輸入的**號碼沒有輸入完整的**號碼是程式會報錯。

3、沒有判斷沒空的情況。

(2) 寫出問題產生的原因  

**中只固定了使用者3種號碼都必須輸入,沒有對使用者輸入的**號碼進行提示,使用者有時沒法輸入正確的格式,因此程式會出現錯誤。

(3) 給出修改後的**

/*

* 改方法根據使用者輸入進來的**號碼字串的長度來判斷使用者輸入的是否正確

* 根據中間號碼的位置來獲得 */

public

class

logintest

//固定使用者輸入**號碼的字串的長度,然後根據根據**號碼的所在位置得到**號碼

if(strphonenum.length() == 17)

}else

return

way;

}

}

2、  請寫一段用於整型陣列排序的**,說明你的設計思路,並利用錯誤推測法給出可能出錯的情況(至少5種),設計出測試用例,並利用junit編寫單元測試進行測試。(假設傳入的引數已經確定為整型陣列)

要求:(1) 寫出**,並符合**規範(命名要規範,不可直接寫在main方法中,需要有類注釋、方法注釋、以及適當的行注釋)

package

cn.deng;

/** 對陣列進行排序使用的是氣泡排序按數字從小到大進行排序 */

public

class

arraysort

for(int i=0;i)}}

for (int i = 0; i < arr.length; i++)

system.out.print(arr[i] + " ");}}

(2) 說明你的設計思路

對整型陣列排序進行排序使用的是氣泡排序的演算法,再類中定義乙個帶引數的方法,在main方法中輸出。

(3) 寫出可能出錯的情況(至少五種)

1、當輸入的的陣列數字一樣時,是否能夠正確的排序。

2、當輸入其他字元時,程式是否會報錯。

3、當所輸入的陣列很大時,程式是否能夠正常執行。

4、當輸入的數是字元型時是否會排序。

5、當所輸入的數是負數時,是否會正確的排序。

6、 陣列為空的情況

7、陣列已經排好了順序

8、陣列已按逆序排好

(4) 編寫junit單元測試,將前面給出的可能出錯的測試資料放入單元測試進行測試

測試用例  int arr = ;

測試用例  int arr = {};

第三次部落格作業

1 某 管理系統,使用者註冊時,號碼為可選輸入項,輸入格式為 區號 號碼 分機號,中間用 隔開。以下為jsp頁面上的設計,且並未對輸入做任何控制。假設系統現在需要取出中間的 號碼部分,如下 該方法根據使用者輸入取出中間的 號碼部分 param strphonenum 號碼,如 0591 832799...

第三次部落格作業

1 某 管理系統,使用者註冊時,號碼為可選輸入項,輸入格式為 區號 號碼 分機號,中間用 隔開。以下為jsp頁面上的設計,且並未對輸入做任何控制。假設系統現在需要取出中間的 號碼部分,如下 該方法根據使用者輸入取出中間的 號碼部分 param strphonenum 號碼,如 0591 832799...

第三次部落格作業

1 號碼 分機號,中間用 隔開。以下為 jsp頁面上的設計,且並未對輸入做任何控制。假設系統現在需要取出中間的 號碼部分,如下 該方法根據使用者輸入取出中間的 號碼部分 param strphonenum 號碼,如 0591 83279988 002 return 返回號碼部分,如 83279988...