3 回答

TA貢獻(xiàn)1829條經(jīng)驗 獲得超4個贊
我的方法是將所有折扣加在一起,然后在最后相乘一次。
如果需要的話您可以添加其他折扣
double totalDiscount = 0.0;
if (purchase >= 100) {
totalDiscount += discount2;
}
if (age >= 65) {
totalDiscount += discount1;
}
totalPrice = purchase * (1.0 - totalDiscount);
System.out.print("The final amount is $" + totalPrice);

TA貢獻(xiàn)1712條經(jīng)驗 獲得超3個贊
第一個 if 語句將首先執(zhí)行。因為價格在100以上。所以其他語句不會被執(zhí)行。嘗試更改 if 表達(dá)式,因為這就是它沒有給出您可能期望的結(jié)果的問題

TA貢獻(xiàn)1833條經(jīng)驗 獲得超4個贊
您需要更改以下代碼,
因為當(dāng)價格超過 100 時,它將首先運行 if 塊,并且不會進入最后一個塊。
所以按以下方式更改它:-
if (purchase >= 100 && age < 65) {
totalPrice = purchase * discount2;
finalPrice = purchase - totalPrice;
System.out.print("The final amount is $" + finalPrice);
}
else if (purchase < 100 && age < 65) {
System.out.println("The final amount is $" + purchase);
}
else if (purchase < 100 &&age >= 65) {
totalPrice = purchase * discount1;
finalPrice = purchase - totalPrice;
System.out.print("The final amount is $" + finalPrice);
}
else if (age >= 65) {
totalPrice1 = purchase * discount2;
totalPrice = purchase * discount1;
finalPrice = purchase - totalPrice - totalPrice1 ;
System.out.print("The final amount is $" + finalPrice);
}
添加回答
舉報