打破我有我的工作,明天這個java項目的一個問題。我應該做一個while循環,提示用戶輸入物品的價格,並用任何負數結束循環,否則負數不能計數。然後,我必須分別使用變量3,2,1,0提示用戶使用會員折扣級別平臺15%off/gold 7%/ silver 3%/非member 0%off。對於成員狀態的無效輸入,用戶需要使用do-while循環再次輸入有效的輸入。然後,我使用相應項目總和的適當折扣,然後對其進行稅收。最後幾個步驟很簡單,但我堅持循環。Java的循環和負面
我做了一些搜索,發現這個代碼塊在這個網站,沒有工作的第一while循環,但我需要它的方式並沒有結束。 Using While Loop instead of a For Loop in Java to ask User Input
我修改它以適合我的需要,但我仍然無法找到一種方法來使throwable =任何負數,即< 0.這是可能的嗎?我很肯定有一種方法可以更簡單地做到這一點,而沒有我還沒有學會的try/catch。這是我非常略加修改
Scanner askPrice = new Scanner(System.in);
BigDecimal totalPrice = new BigDecimal("0");
Scanner keyboard = new Scanner(System.in);
while (true) {
System.out.println("Enter item price or negative number to quit:") ;
try {
double price = askPrice.nextDouble();
totalPrice = totalPrice.add(new BigDecimal(String.valueOf(price)));
}
catch (Throwable t) {
break;
}
System.out.println(totalPrice.toString());
}
我試圖打開try和catch語句到的if/else和更換與其他漁獲拋出(askPrice < 0),但我得到噸的錯誤。
我非常感謝,可以提供任何幫助。 謝謝。
是的,有沒有嘗試/趕上的方式。 'break'會將你自己從'while'循環中移除,所以你在那裏是正確的。試着做一個簡單的'if'語句來檢查'price'的值,以及是否需要'break'。 –
不要使用try/catch - 完全沒有必要。 '如果(價格<0.0)中斷;'是你所需要的。 –
另一件要說的是,不要捕獲'Throwable',而不是你特定的'Exception',你應該總是處理它。打印堆棧跟蹤以瞭解造成錯誤的原因。 –