1+2*3
優先計算哪一個。因此,咱們必須人爲地進行優先級排序,把1+2*3
轉換爲123*+
這樣計算機就懂了原來先作乘法哦。123*+
。咱們應該可以發現,當咱們判斷一箇中綴表達式的時候,應該把數字直接劃入字符串,符號入棧,而後再彈出。 而後經過StringTokenizer
類把字符串進行分割。
以後,要比較棧裏面符號優先級的順序。
把後入棧的符號和棧內的符號進行比較。若是後入的優先級高,那麼就入棧;反之,則彈出棧內的符號後入棧。
html
而後,經過switch語句,來分別調用Rationalnumber類的+-*/方法。
git
(2) Arithmetic類
中的等級
這個就是相對簡單了,經過隨機數來隨機符合和隨機表達式。這裏就顯示level的例子,其餘同。
編程
問題1:沒法輸入分數?咱們有一個等級的是分數和整數的計算,而咱們最後測試發現,用戶並無辦法輸入分數結果。
學習
問題1解決方案:前幾個方法都是nextInt。因此,用戶只能輸入int型。而實際上分數應該是String型的。因此咱們修改了next。
測試
這裏李馨雨同窗雖然修改了輸入c1,卻沒有修改判題。致使了用戶答案對卻依然正確率爲0的尷尬局面。( ̄▽ ̄)/
編碼
問題2:括號內的數字沒法實現隨機性。
spa
問題2解決方案:最後檢查發現這個和咱們以前的錯誤同樣。在進入循環以前,括號內的數字已經肯定了。我定義了括號的方法,須要的時候我就調用這個方法。就能夠保證括號內數字的隨機性。
設計
成功出現。ヽ( ̄▽ ̄)ノ3d
中綴轉後綴,後綴計算兩個類的編寫。(PS:原本後綴計算類是李馨雨同窗編寫的,後來她五一出去玩了 ̄へ ̄)代碼規範
姓名 | 郭愷 | 段志軒 | 李馨雨 |
---|---|---|---|
學號 | 20172301 | 20172304 | 20172328 |
貢獻率(%) | 38% | 32% | 30% |
眼睛和加菲貓的同樣小。 (/ω\)
這一週其實在項目上編程仍是算輕鬆的。由於在上一週的時候,咱們進行完了棧的編寫。雖然這一部分主要是由我負責的,可是也少不了其餘兩個組員的努力。咱們的時間,主要花費在了一些擴展項目和重點問題上,好比括號。咱們針對這個已經給出了三種方案,可是實現的程度確實不高。經過這星期對I/O的學習,咱們又將挑戰下一個擴展。每次真的是想到掉頭髮,每每時間一會兒就過去了,才發現高數啊,英語啊,機率論啊,都沒有作。不過,多人合做的優勢一樣就是爲了避免讓本身脫別的組員的後腿,會一直努力。後期的話,我可能會對時間作出限制,由於咱們組員在此次周測成績上都不出色,我但願咱們能有更多的時間來實踐書本。畢竟,想要實踐好,必需要有基礎啊!
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 |