1、 某**管理系統,使用者註冊時,**號碼為可選輸入項,輸入格式為:區號-**號碼—分機號,中間用「-」隔開。以下為jsp頁面上的設計,且並未對輸入做任何控制。
假設系統現在需要取出中間的**號碼部分,**如下:
/**要求:(1) 寫出問題所在* * 該方法根據使用者輸入取出中間的**號碼部分
* @param strphonenum **號碼,如:「0591-83279988—002」
* @return 返回號碼部分,如:「83279988」
*/public string getphonenumber(string strphonenum)
string arrphone=strphonenum.split("-");
return arrphone[1];
}
(2) 寫出問題產生的原因
(3) 給出修改後的**
答:(1)問題:未限制可輸入的號碼的長度,未定義輸入的是否是數字還是字串,未驗證是否為空
(2)在if語句中判斷條件不足
public string getphonenumber(string strphonenum)(3)
public string getphonenumber(string strphonenum)$").matcher(phonenumber.trim
()).matches()))
}else
string arrphone=strphonenum.split("-");
return arrphone[1];
}split將號碼拆分成三個部分
得到的結果為:
區號:0591
**號碼:83279988
分機號:002
2、 請寫一段用於整型陣列排序的**,說明你的設計思路,並利用錯誤推測法給出可能出錯的情況(至少5種),設計出測試用例,並利用junit編寫單元測試進行測試。(假設傳入的引數已經確定為整型陣列)
要求:(1) 寫出**,並符合**規範(命名要規範,不可直接寫在main方法中,需要有類注釋、方法注釋、以及適當的行注釋)
(2) 說明你的設計思路
(3) 寫出可能出錯的情況(至少五種)
(4) 編寫junit單元測試,將前面給出的可能出錯的測試資料放入單元測試進行測試
(1)**:
package cn.wang.arr;
public class sort }}
for(int i:x)
return x;
}public static void main(string args) ;
system.out.println("排序後的結果為:");
maopao(i); //呼叫排序maopao方法
system.out.println();}}
(2)以氣泡排序的思想進行設計,跟氣泡上公升的原理是一樣的,依次將相臨的兩個數進行比較,將小的
數調到下面大的放在上面,從陣列x[0]開始,依次將其和後面的元素比較,若x[i]>x[j],則交換它們,
一直比較到陣列的最後乙個數為止。對x[i],x[i+1],...進行處理,即可完成排序。
(3) 陣列為空的情況;
輸入的陣列只含乙個元素;
陣列已經排好了順序;
陣列已按逆序排好;
陣列中的部分或全部元素相同時。
(4)單元測試:
當陣列為空時,控制台為空沒有數字:
輸入的陣列只含乙個元素時,可以看得控制台只出現乙個數字:
陣列已經排好了順序時:
陣列已按逆序排好時:
陣列中的部分或全部元素相同時:
第三次部落格作業
1 某 管理系統,使用者註冊時,號碼為可選輸入項,輸入格式為 區號 號碼 分機號,中間用 隔開。以下為jsp頁面上的設計,且並未對輸入做任何控制。假設系統現在需要取出中間的 號碼部分,如下 該方法根據使用者輸入取出中間的 號碼部分 param strphonenum 號碼,如 0591 832799...
第三次部落格作業
1 某 管理系統,使用者註冊時,號碼為可選輸入項,輸入格式為 區號 號碼 分機號,中間用 隔開。以下為jsp頁面上的設計,且並未對輸入做任何控制。假設系統現在需要取出中間的 號碼部分,如下 該方法根據使用者輸入取出中間的 號碼部分 param strphonenum 號碼,如 0591 832799...
第三次部落格作業
1 號碼 分機號,中間用 隔開。以下為 jsp頁面上的設計,且並未對輸入做任何控制。假設系統現在需要取出中間的 號碼部分,如下 該方法根據使用者輸入取出中間的 號碼部分 param strphonenum 號碼,如 0591 83279988 002 return 返回號碼部分,如 83279988...