20172305 结对编程项目-四则运算 第二周 阶段总结
結(jié)對(duì)編程的好麗友
- 20172323 王禹涵:中綴轉(zhuǎn)后綴
- 20172314 方藝雯:后綴表達(dá)式的計(jì)算
- 20172305 譚鑫:中綴表達(dá)式的輸出
遇到的困難和解決方案
- 問題1:括號(hào)的添加方法
解決方案:
(1)對(duì)于括號(hào)的添加,我在最開始通過每一個(gè)字符的掃面方式,進(jìn)行逐一的判斷,遇到乘除號(hào)就添加一個(gè)括號(hào),或是替代的方式,將一個(gè)乘除符號(hào)用一個(gè)乘除符號(hào)加一半的括號(hào)就可以了,想到了String類里面的方法replace,但是注意到了那個(gè)方法是所有的都要換,這樣的話就和預(yù)期的效果不一樣。所以針對(duì)這個(gè)是否有改變一個(gè)的方法去問老師,老師說可以嘗試去重寫replace方法,通過繼承的方式就可以解決,是一個(gè)很棒的想法。但是在我著手編寫的過程中,發(fā)現(xiàn)如果你要是進(jìn)行添加的話,那么還得在重寫的方法里面繼續(xù)使用方法進(jìn)行替換一個(gè)乘除符號(hào),這樣的話還是繞不開這個(gè)replace的方法,所以此路不通,添加括號(hào)的方式也就擱淺了。- replace(CharSequence target, CharSequence replacement)
使用指定的字面值替換序列替換此字符串所有匹配字面值目標(biāo)序列的子字符串。
(2)在問老師的同時(shí),老師介紹了同為String類的又一個(gè)方法subSequence,通過截取整個(gè)字符串的一小部分來,在兩側(cè)進(jìn)行添加括號(hào),再給補(bǔ)回來的方式進(jìn)行添加。所以,在五一放假期間一直在編,通過等差數(shù)列的運(yùn)算方式,我成功的編寫出完整的加括號(hào)的方式,但是突然發(fā)現(xiàn)自己的只適用于10以內(nèi)的加減乘除的方式,不適用100以內(nèi)的運(yùn)算,所以編出的東西全白費(fèi)。(心痛,還沒有留下照片......)不過,可以以這個(gè)基礎(chǔ)進(jìn)行改動(dòng)就應(yīng)該適用100以內(nèi)的方法了。通過截取位置的隨機(jī)進(jìn)行判斷,判斷那個(gè)位置是為數(shù)字還是字符進(jìn)行添加括號(hào),這就基本形成了我自己的一個(gè)加括號(hào)的方式。
- subSequence(int beginIndex, int endIndex)
返回一個(gè)新的字符序列,它是此序列的一個(gè)子序列。
(3)但是在這種情況下,我產(chǎn)生添加括號(hào)的問題仍是漏洞百出,在右括號(hào)前面的是運(yùn)算符,或是多了一個(gè)空字符,或是在數(shù)字中進(jìn)行添加括號(hào),麻煩特別多,而且自己的是隨機(jī)和循環(huán),不知道如何解決。所以,自己就是一點(diǎn)點(diǎn)的看代碼,從每一個(gè)代碼的含義進(jìn)行解釋,進(jìn)行重新的計(jì)算,但是這樣的效率特別低,有時(shí)候一個(gè)晚上硬是找不出問題。在經(jīng)歷了好幾天這樣的日子,開始找助教幫助解決,助教用調(diào)試的方法進(jìn)行解決,由于自己的隨機(jī)和循環(huán),有時(shí)候還遇不到問題,解決起來特別棘手,再次特別表示感謝對(duì)于助教的幫助。通過助教的幫助,自己的問題解決了一大半,但在不斷的進(jìn)行輸出題目的時(shí)候,仍有一個(gè)特別小的問題,而且這個(gè)問題還有時(shí)候遇不到,所以很難抓住這個(gè),助教對(duì)此也無能為力。于是,開始尋求老師的幫助,待在老師辦公室的一下午,找出了我問題的解決辦法
if((String.valueOf(b.charAt(b.length()-1)).equals(" ")))
最后的成品--括號(hào)方法終于成型了(喜大普奔)
b = (String) b.subSequence(0, b.length()-1);- replace(CharSequence target, CharSequence replacement)
- 錯(cuò)誤結(jié)果
正確結(jié)果
- 問題2:式子的產(chǎn)生
解決方案:按照之前的討論,我們的想法是進(jìn)行隨機(jī)數(shù)和字符的交替產(chǎn)生,但是那樣的話,我想了半天不知道如何進(jìn)行添加,所以,在開始時(shí)就PASS掉了,然后想出來數(shù)字和字符的隨機(jī)循環(huán),這樣的話最后在進(jìn)行一個(gè)隨機(jī)數(shù)的補(bǔ)充就行了。然后我就進(jìn)行了編寫,在編寫的過程中,我就行了三位數(shù)的運(yùn)算、四位數(shù)的運(yùn)算、最大的五位數(shù)的運(yùn)算,但是在編寫的過程中,我看到學(xué)長(zhǎng)們的博客中進(jìn)行著壓力測(cè)試,而自己編寫明顯不適合,不適合后期的制作,所以就在for循環(huán)上改了點(diǎn),可以出現(xiàn)很長(zhǎng)很長(zhǎng)的運(yùn)算式(估計(jì)這樣的話,小學(xué)生的運(yùn)算快崩潰了吧!!)
關(guān)鍵代碼
- 進(jìn)行加括號(hào)的靜態(tài)類
- 生成中綴表達(dá)式的類
四則運(yùn)算中個(gè)人負(fù)責(zé)的部分
自己負(fù)責(zé)產(chǎn)生題目和添加括號(hào)的編寫以及一部分的產(chǎn)品代碼。
貢獻(xiàn)度
| 貢獻(xiàn)度 | 33.4% | 33.3% | 33.3% |
待辦事項(xiàng)
結(jié)對(duì)伙伴評(píng)價(jià)
- 20172314方藝雯 負(fù)責(zé)的是后綴轉(zhuǎn)為數(shù)字,也就是正確答案。感覺這部分比較難,而且是產(chǎn)生正確答案的關(guān)鍵,能夠很出色的完成很厲害。
- 20172323王禹涵負(fù)責(zé)的是中綴轉(zhuǎn)后綴的問題。這部分算是整個(gè)式子承前啟后的部分,沒有這部分,我和方藝雯的內(nèi)容就全白費(fèi)。
- 兩位小伙伴完成的都很出色,遇到問題也不放棄,熬夜看代碼,不斷的在群里進(jìn)行分析和探討,和兩位合作很愉快、輕松。
碼云鏈接
- 四則運(yùn)算
給出小組結(jié)對(duì)編程照片
轉(zhuǎn)載于:https://www.cnblogs.com/sanjinge/p/9008453.html
總結(jié)
以上是生活随笔為你收集整理的20172305 结对编程项目-四则运算 第二周 阶段总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电子邮件营销的使用
- 下一篇: 有位置,来,搬个小板凳,喝酒听故事!