一.程式題
有1、2、3、4、5、6、7個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?
二.程式分析
輸出的是無重複數字的三位數,那麼首先應該解決在一個陣列中,一個數字絕對不能出現兩次,那麼我們就寫兩個方法來完成,第一個方法 printNum1 先把第一位i找出來,然後在定義一個長度為比上一個陣列少一位的陣列的方法getArray
三.原始碼託管地址
https://github.com/liuyunandyi/Text/tree/master
四.原始碼
public void printNum1(){
String[]nums ={"1","2","3","4","5","6","7"};
for(int i =0;i<nums.length;i++){
String num1 =nums[i];
String[] nums1 =this.getArray(num1, nums);
for(int j =0;j<nums1.length;j++){
String num2 = nums1[j];
String[] nums2 =this.getArray(num2, nums1);
for(int k =0;k<nums2.length;k++){
String num3 = nums2[k];
System.out.print(num1+num2+num3+" ");
}
}
}
}
public String[] getArray(String num,String[]nums){
int index =0;
String[] newNums = new String[nums.length-1];
for(int i =0;i<nums.length;i++){
String data = nums[i];
if(data!=num){
newNums[index] = data;
index ++;
}
}
return newNums;
}
}
程式截圖:
五.程式測試:
六.實驗分工:
再本次結對程式設計專案中,我跟我的結對人分別從事了編碼,上面程式中的getArray的方法是我寫的,printNum1的方法是我的結對人寫的,我主要是負責審查,我的結對人負責則單元測試,分工合作很愉快。
結對人地址:http://www.cnblogs.com/zp1com/p/4495067.html
七.實驗總結:
這次的試驗不是個人專案,需要跟夥伴結對完成,發現結對專案好處多多, 減輕了程式設計師的審查這方面工作,做得比以前認真還有速度,節省了很多時間。