1. 程式人生 > >結對編程感想

結對編程感想

不能 dap xdoc mat 文本 新建 eight 圖片 問題解決

1. 題目模塊

首先由於個人項目我和隊友都是用c++寫的,獲知阿裏雲並沒有c++的短信API,思量過後,悲慘決定重新將c++改寫成Java 生成題目的算法不用多想,直接用原來的就好了但寫這個函數還是用了大把的時間,而原因居然是倆個人都不太記得怎麽寫Java!!!不過兩個人磕磕絆絆磨了半天終於還是寫出來,寫的過程中也把java的基本語法復習了一遍。 最難的還是解題,關鍵就在這個括號的問題上(記得做個人項目時也是被這個括號折磨的要死)。 最先我想到的是用遞歸地方式,將括號一層層的分解,每次遇到一個前括號就遞歸一次,遇到後括號就返回一次,遇到三角函數及平方、開方就直接調用math庫裏的方法。 然而,就當我測試了一遍居然沒問題時,結果bug還是出現了——tan90、負數開根號、減負數去完括號後變成“--”等各種各樣的問題!
然而,,,當我解決完這些bug後,我突然從百度上了解到一件事——Java的javax.script庫裏居然有直接計算字符串類型的算式的函數eval()!!!而且這玩意居然連括號什麽的都可以直接解決!!!於是,最終,寫了半天的遞歸全刪了,eval() + math庫 直接解決了問題。 2. 登陸模塊 ?技術分享圖片? 將題目模塊設計好之後就要面對生成界面這個難題了,因為之前從沒有接觸過Java界面,所以對於怎麽做界面是毫無頭緒的,我們先是百度了做界面的案例,裏面有生成登錄框的代碼,我們就依葫蘆畫瓢改寫成我們所需要的樣子,首先需要有一個手機號標簽和一個手機號輸入框,然後是密碼標簽和密碼輸入框,並且密碼輸入框要用到它特點的文本框,還要讓它輸入時顯示的是‘*’,這都還好處理。
一開始不好理解的是監聽按鈕,因為做第一個界面的時候還不太了解監聽事件是怎麽運行的,並且不知道怎麽實現界面之間的跳轉,思考良久之後發現用按鈕實現界面的跳轉正合適,在登陸模塊中添加一個註冊按鈕,事件就可以寫為new一個註冊界面,這樣就可以實現從登陸模塊到註冊模塊的跳轉,添加一個登陸按鈕,事件寫為new一個選擇界面,就可以實現登陸模塊到選擇模塊的跳轉。 最後一步就是登陸時要檢驗賬號的正確性,我們是準備把註冊的手機號+“ ”+密碼放入文件中,登陸的時候只需要讀取文件裏的手機號密碼判斷是否相等就可以了。 3. 註冊模塊 技術分享圖片 技術分享圖片 由登陸界面跳轉過來後打開,此界面需要有獲取驗證碼的按鈕,點擊之後要發送隨機四位驗證碼給輸入的手機號中,這個過程最艱難的就是註冊阿裏雲的短信API使用權限了,不斷的和審核者鬥智鬥勇,最終還是自己新建了一個微信公眾號截圖發過去才通過,整個過程十分艱難。。。
審核通過後按要求改寫它給的sms類然後調用send()函數就可以用了,驗證碼問題解決之後只需要檢驗密碼是否符合必須含有大小寫字母和數字的要求以及密碼再次輸入確認就可以將手機號密碼寫入文件保存了。註冊成功之後會有一個成功界面,裏面只有一個確定按鈕,沒有其他東西可以點,所以將確定按鈕事件寫為new一個登陸模塊就可以實現到登陸界面的跳轉了。 4. 選擇模塊 技術分享圖片 在登陸界面登陸成功之後會跳轉到選擇界面,界面中有一個三單選按鈕可以選擇題目難度是小學、初中、高中,還可以輸入生成題目數量,有檢測不能為空,也不能為0,範圍1-99,輸錯了會有提示,選擇完畢點擊確認按鈕會跳轉到做題界面。

5. 做題模塊 技術分享圖片 此界面需要將題目模塊生成的題目和答案傳進來,並將題目顯示,記錄題號,並隨生成其他三個錯誤答案,四個答案一起隨機放入一個四單選按鈕中進行選擇,選擇後點擊下一題按鈕會判斷該題是否正確,選擇正確做對題目數加1,然後跳轉到下一個題目界面,繼續做題,直到在最後一題時點擊下一題按鈕會跳出最終得分界面。 6. 分數模塊 技術分享圖片 最先我們寫的分數計算公式是:(作對題數/總題數*100),然而當我們做了幾次題後卻發現,最終得分始終為0,剛開始以為是做題模塊裏面的答案問題,檢查之後卻無論如何也找不到問題,很是糾結,驀然回首,發現原來是分數的表達式有問題,忽略了整型除法中小數除以大數會直接得0,汗顏。。。於是將計算公式改成:(作對題數*100/總題數就OK了!!! 大功告成!!!

結對編程感想