20172301 結對編程練習_四則運算 第二週 階段總結

20172301 結對編程練習_四則運算 第二週 階段總結

相關過程截圖

關鍵代碼解釋

  • (1)中綴表達式轉後綴表達式,後綴表達式的計算
    在我看來,這兩個部分應該是四則運算的核心。爲何這麼說呢?由於要想知道你的答案是否正確,必需要給出相對應的答案。
    • 首先,咱們要清楚爲何要把中綴表達式轉換爲後綴表達式。
      實際上是爲了計算機更好的計算。若是按照正常的運算順序,計算機沒法判斷1+2*3優先計算哪一個。因此,咱們必須人爲地進行優先級排序,把1+2*3轉換爲123*+這樣計算機就懂了原來先作乘法哦。
    • 那麼,如何實現中綴表達式轉換爲後綴表達式呢?
      大體的思路是這樣。咱們要定義一個字符串和一個棧。由於咱們最後輸出的東西——後綴表達式,是一個字符串。根據剛剛的例子123*+。咱們應該可以發現,當咱們判斷一箇中綴表達式的時候,應該把數字直接劃入字符串,符號入棧,而後再彈出。

        而後經過StringTokenizer類把字符串進行分割。
        以後,要比較棧裏面符號優先級的順序
    把後入棧的符號和棧內的符號進行比較。若是後入的優先級高,那麼就入棧;反之,則彈出棧內的符號後入棧。
    html

    • 最後,後綴表達式如何計算出結果呢?
          首先,我都把數字轉化爲Rationalnumber類型。整數就是分母爲1的分數。

        而後,經過switch語句,來分別調用Rationalnumber類的+-*/方法。
    git

  • (2) Arithmetic類中的等級
    這個就是相對簡單了,經過隨機數來隨機符合和隨機表達式。這裏就顯示level的例子,其餘同。
    編程

遇到的困難及解決方法

  • 問題1:沒法輸入分數?咱們有一個等級的是分數和整數的計算,而咱們最後測試發現,用戶並無辦法輸入分數結果。
    學習

  • 問題1解決方案:前幾個方法都是nextInt。因此,用戶只能輸入int型。而實際上分數應該是String型的。因此咱們修改了next。
    測試

這裏李馨雨同窗雖然修改了輸入c1,卻沒有修改判題。致使了用戶答案對卻依然正確率爲0的尷尬局面。( ̄▽ ̄)/
編碼

  • 問題2:括號內的數字沒法實現隨機性。
    spa

  • 問題2解決方案:最後檢查發現這個和咱們以前的錯誤同樣。在進入循環以前,括號內的數字已經肯定了。我定義了括號的方法,須要的時候我就調用這個方法。就能夠保證括號內數字的隨機性。

    設計

成功出現。ヽ( ̄▽ ̄)ノ3d

寫出項目中本身負責的部分

中綴轉後綴,後綴計算兩個類的編寫。(PS:原本後綴計算類是李馨雨同窗編寫的,後來她五一出去玩了 ̄へ ̄)代碼規範

我的貢獻度劃分(按百分比給小組各成員劃分貢獻度,各成員貢獻之和爲100%)

姓名 郭愷 段志軒 李馨雨
學號 20172301 20172304 20172328
貢獻率(%) 38% 32% 30%

對結對的小夥伴作出評價給出小夥伴博客連接(重點指出須要改進的地方)

20172304

  • 軒軒的思路有時候想法很好。我和他老是進行想法之間的碰撞。他構思,我來實現。好比括號的問題,他先後一共想出了三個方法。雖然咱們只實現了兩個方法,可是確實頗有成就感。不過在基礎方面但願他能夠紮實一些,雖然實踐是王道,可是沒有基礎是萬萬不行的。

20172328

  • 李馨雨同窗女孩子很是細心。老是把註釋什麼的寫的特別完善。在基礎理論方面也很紮實。我但願她之後遇到問題以後能先獨立思考並獨立查閱來加強本身的編程能力。

碼雲連接

給出小組結對編程照片

眼睛和加菲貓的同樣小。 (/ω\)

感覺

這一週其實在項目上編程仍是算輕鬆的。由於在上一週的時候,咱們進行完了棧的編寫。雖然這一部分主要是由我負責的,可是也少不了其餘兩個組員的努力。咱們的時間,主要花費在了一些擴展項目和重點問題上,好比括號。咱們針對這個已經給出了三種方案,可是實現的程度確實不高。經過這星期對I/O的學習,咱們又將挑戰下一個擴展。每次真的是想到掉頭髮,每每時間一會兒就過去了,才發現高數啊,英語啊,機率論啊,都沒有作。不過,多人合做的優勢一樣就是爲了避免讓本身脫別的組員的後腿,會一直努力。後期的話,我可能會對時間作出限制,由於咱們組員在此次周測成績上都不出色,我但願咱們能有更多的時間來實踐書本畢竟,想要實踐好,必需要有基礎啊!

PSP時間統計

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 60 65
Estimate 估計這個任務須要多少時間 3 2
Development 開發 2000 3000
Analysis 需求分析 (包括學習新技術) 350 300
Coding Standard 代碼規範 (爲目前的開發制定合適的規範) 60 10
Design UML 設計項目UML類圖 60 60
Coding 具體編碼 1500 2000
Code Review 代碼複審 30 30
Test 測試(自我測試,修改代碼,提交修改) 300 300
Size Measurement 計算工做量(實際時間 ) 2 2
Postmortem & Process Improvement Plan 過後總結, 並提出過程改進計劃 30 10
合計 4395 5229
相關文章
相關標籤/搜索