为了账号安全,请及时绑定邮箱和手机立即绑定

一个输入不起作用,而其余的则有效

一个输入不起作用,而其余的则有效

眼眸繁星 2023-08-16 17:51:29
用户必须输入购买总金额和年龄,然后计算最终付款。如果总金额达到或超过 100 美元,可享受总价 20% 的折扣。如果年龄为 65 岁或以上,则总价可享受 10% 的折扣。double discount1 = 0.10;double discount2 = 0.20;double totalPrice = 0.0;double finalPrice = 0.0;System.out.print("Enter total amount: ");double purchase = input.nextDouble();System.out.print("Enter age: ");int age = input.nextInt();if (purchase >= 100) {  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 (age >= 65) {  totalPrice = purchase * discount1;  finalPrice = purchase - totalPrice;  System.out.print("The final amount is $" + finalPrice);}用户输入 200 作为总金额,输入 75 作为年龄。输出应该是 140.00 美元。但是,我收到的输出为 160.00 美元。
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超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);


查看完整回答
反对 回复 2023-08-16
?
交互式爱情

TA贡献1712条经验 获得超3个赞

第一个 if 语句将首先执行。因为价格在100以上。所以其他语句不会被执行。尝试更改 if 表达式,因为这就是它没有给出您可能期望的结果的问题



查看完整回答
反对 回复 2023-08-16
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

您需要更改以下代码,


因为当价格超过 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);

}


查看完整回答
反对 回复 2023-08-16
  • 3 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信