2011-12-25 49 views
3

我一直在努力爲我的大學完成以下任務。到目前爲止,我已經多次獲得這項任務的幫助(我非常感謝)。如何保持for循環計數器爲0; BigDecimal的; etc

由於這是大學的一項任務,我希望非直接答案能夠解釋不直接解決我的任務的例子。

該任務要求我根據用戶輸入檢查一些事情。

  1. 如果用戶輸入訂單,然後再次輸入相同的訂單和相同的代碼,它會用新的代碼替換以前的信息。 EG,如果用戶輸入G22作爲代碼,然後輸入5作爲數量,則再次輸入G22,然後輸入4作爲數量,它會忘記5並用4代替。我怎樣才能使它記住前一個,並簡單地添加新訂單並使其數量= 9(我正在使用數組進行用戶輸入)。

  2. 如果用戶輸入G22和數量3但沒有輸入任何內容並且只是輸入,則計數器加一和按X(退出)運費顯示爲2.00美元這是2項。我怎樣才能避免計數器在沒有輸入任何明智信息的情況下加1,即除了輸入4個可用選項以外的其他信息。

  3. 我知道使用雙打併不適合與金錢相關的任何事情,建議您使用BigDecimal(也可能是NumberFormat)。我可以使用BigDecimal以最小的問題替換當前的雙打,還是必須替換整個代碼?我也不明白如何輕鬆地實現BigDecimal,所以我會很感激layman的例子(特別是關於是否可以使用int等來添加/減去/乘/除BigDecimal)。

  4. 我會在這裏發佈代碼,但我不希望它被任何其他人做同樣的課程複製,然後在我做之前提交它(不是說我的代碼是世界上最棒的東西,我只是把自從我的第一個項目以來,我付出了很多努力)。

+4

有太多的問題,並沒有足夠的代碼。逐個解決問題,嘗試解決問題,併發布您嘗試的代碼,準確描述代碼中的問題是什麼。 – Mat 2011-12-25 11:25:00

+0

好的,我會嘗試創建新的代碼來幫助解釋我的問題並針對每個問題發佈單獨的問題。謝謝。 – 2011-12-25 11:26:25

回答

2

1)我會用Map<String, Integer>來存儲產品代碼的所有數量。

2)我會通過總結地圖中的數量得到總數。用戶如何輸入數據無關緊要。

3)此建議依賴於項目。在你的情況下,標記的選項是重要的。在投資銀行和貿易公司工作多年,我還沒有見過任何人使用BigDecimal來獲得金錢。它不是一個大的重寫,至少你應該知道如何正確使用doubleBigDecimal處理舍入。

+0

謝謝,我會採納Mat的建議並創建一些代碼,以便回覆的人更容易知道我在問什麼。 – 2011-12-25 11:40:36

+0

我得到了雙打完美的雙打。但是後來我發現,由於四捨五入的問題而使用雙打來賺錢是不可取的,而且每個人都使用BigDecimal。這令我感到沮喪,因爲我寫了整個代碼,知道我可以讓雙打正確地四捨五入。現在我不得不在我的項目中學習BigDecimal。我剛開始第一次學習編程語言,所以我是一個完整的noob。儘管感謝您的幫助。 – 2011-12-25 13:01:17

+0

當涉及到分配時,您將根據您與預期答案的接近程度進行標記。有一個你認爲沒問題的答案不是他們想要的。 – 2011-12-25 13:08:42