我選擇的代碼是
我的博客地址5:http://www.cnblogs.com/NianQiFeng ,源代碼:https://git.coding.net/qwx_hh/java-szys.gitjava
黃騰龍 201521123112 碼雲地址:https://gitee.com/Java_goddess
李心宇 201521123117 碼雲地址:https://gitee.com/lxxy/events
重構
clone項目,在開發環境中運行該應用程序,修改完畢最後上傳至碼雲,並在博客中給出連接git
檢查大部分主要類之間的關係,畫出類圖編程
代碼規範:app
Arithmetic類 // astr 返回答案字符串 qstr 返回問題字符串 int_operation() 整數計算函數 fra_operation() 分數計算函數 common_divisor(int m,int n) 公約數計算函數 toString() 輸出函數 Frame類 // hs 實例化History hh 實例化QA_List timer 實例化Work_Time Time 計時器動態窗口 answer1~10 輸入窗口 Review 複習按鈕 question1~10 題目顯示標籤 Right_answer1~10 正確答案顯示標籤 Tip1~10 提示正確與否標籤 Time_cost 所花時間顯示標籤 Right_percent 正確率顯示標籤 Set_question 開始按鈕 jLabel5 歷史正確題數 jLabel7 歷史總題數 rn 單次正確題數 tot 單次總題數 Frame() Frame構造函數 initComponents() 窗體顯示 xxxClicked(KeyEvent evt) 點擊事件 KeyPressed(JLabel i,JLabel j,JLabel l,int x,JTextField k) 點擊事件批量處理函數 Hide() 使不須要的輸入窗口關閉 Tip(String answer,int i)提示對錯並計入 Histroy類 // qstr 問題字符串 astr 答案字符串 str 答案+問題字符串(寫入文件) str2 正確題數+總題數字符串(寫入文件) tot 總題數 rn 正確題數 qstrlist 問題字符串列(讀入文件) astrlist 答案字符串列(讀入文件) scan(String qstr,String astr) qstr+" "+astr scan2(int tot,int rn) tot+" "+rn Histroy_create() 歷史文檔生成 Histroy_save() 存儲歷史題目與答案 Histroy_saveNum() 存儲歷史題目數目 Histroy_read() 讀入歷史題目與答案 History_num() 讀入歷史題目數目 QA_List類 // i 加入列題目個數 Qusetion 問題字符串列 Answer 答案字符串列 QA_List() QA_List構造函數 Test_Number類 i 顯示Test_Number窗體次數 l 語言轉化參數標識 Cancel_Button 取消按鈕 Sure_Button 肯定按鈕 English 英文界面標籤 Simplified_Chinese 簡體中文界面標籤 Traditional_Chinese 繁體中文界面標籤 Number 所需題數 Test_Number() Test_Number構造函數 initComponents() Test_Number窗體顯示 xxxClicked(KeyEvent evt) 點擊事件 Test類 // main(String[] args) Work_Time類 // x 00:00.x y 00:y.00 z z:00.00
部分代碼展現ide
Time //計時器 public class Frame extends JFrame{ static double rn=0; public static Histroy hs = new Histroy(); Timer timer = new Timer(); public static QA_List hh = new QA_List(); double tot=hh.i; public List<JTextField> Field_list=new ArrayList<JTextField>(); public Frame() { super("Myapp"); hs.Histroy_create(); initComponents(); if(Test_Number.l==1){ Set_qusetion.setText("開始"); jLabel2.setText("計時:"); jLabel1.setText("正確率:"); jLabel3.setText("用時:"); Review.setText("複習"); jLabel4.setText("正確:"); jLabel6.setText("所有:"); } if(Test_Number.l==2){ Set_qusetion.setText("Start"); jLabel2.setText("Timing:"); jLabel1.setText("Correct rate:"); jLabel3.setText("Time cost:"); Review.setText("Review"); jLabel4.setText("Right:"); jLabel6.setText("All:"); } jLabel7.setText(""+hs.tot); jLabel5.setText(""+hs.rn); } Tip //正確錯誤提示輸出 public String Tip (String answer,int i) { if(answer.equals(hh.Answer.get(i))) { rn++; if(Test_Number.l==1){ return "(≧▽≦)正確"; } if(Test_Number.l==2){ return "(≧▽≦)right"; } return "(≧▽≦)正確"; } else { hs.scan(hh.Answer.get(i),hh.Qusetion.get(i) ); hs.Histroy_save(); if(Test_Number.l==1){ return "(>﹏<)錯誤"; } if(Test_Number.l==2){ return "(>﹏<)wrong"; } return "(>﹏<)錯誤"; } Arithmetic //三個數字的運算和括號 public void Calculate(String formula) { //計算 Scanner in = new Scanner(formula); while (in.hasNextLine()) { String s = in.nextLine(); try { List<Object> list = trans(s); Stack<Double> result = new Stack<Double>(); double res = f(list, result); astr=res+""; System.out.println(astr); } catch (Exception e) { System.out.println("非法表達"); } } }
運行測試函數
討論圖片學習
代碼覆蓋率測試測試
PSP.net
小結感覺:結對編程真的可以帶來1+1>2的效果嗎?經過此次結對編程,請談談你的感覺和體會。
與以前不同的學習方式,在大腿的帶領下收穫了不少,不過仍是遇到了許多問題,但願之後能愈來愈好,學到愈來愈多3d