请问这是聪明还是愚蠢..我试图在double类型的方法中返回一个String ..
public double withdrawCash()
{
if (amounts == 20)
{
totalWithdrawal = BALANCE - 20;
return totalWithdrawal;
}else if (amounts == 40){
totalWithdrawal = BALANCE - 40;
return totalWithdrawal;
}else if (amounts == 60){
totalWithdrawal = BALANCE - 60;
return totalWithdrawal;
}else if (amounts == 100){
totalWithdrawal = BALANCE - 100;
return totalWithdrawal;
}else if (amounts == 200){
totalWithdrawal = BALANCE - 200;
return totalWithdrawal;
}
else{ //this where i tried to be smart or stupid...just learning..help!!!
String complainWithdrawal = "Please, you need to select appropriate amount";
double showWithdrawal = Double.parseDouble(complainWithdrawal);
return showWithdrawal;
}
}
请告诉我理想的解决方案
答案 0 :(得分:1)
double showWithdrawal = Double.parseDouble(complainWithdrawal);
此行将引发错误。您不能将String作为double返回。相反,您可以将其替换为:
throw new InputMismatchException("Please, you need to select appropriate amount.");
然后像这样抓住它:
try {
withdrawCash();
} catch (InputMismatchException e) {
System.out.println("Error withdrawing cash: " + e);
}
答案 1 :(得分:0)
String bla = "12.25";
double showWithdrawal = 0;
try {
showWithdrawal = Double.parseDouble(bla);
} catch (Exception e) {
e.getMessage();
}
System.out.println(showWithdrawal);
你可以这样做
答案 2 :(得分:0)
我还可以建议,为了钱,你不要使用双倍。看看BigDecimal。如果使用双倍的货币价值,你将遇到很多问题。