【发布时间】:2013-10-07 19:42:27
【问题描述】:
我试图理解switch 声明。
所以我有这个问题,我已经解决了。
“一家软件公司出售一个零售价为 99 美元的软件包。提供数量折扣
根据以下:
10-19 = 20%
20-49 = 30%
50-99 = 40%
100 或更多 = 50%
编写一个程序,要求用户输入购买的包裹数量。然后程序应显示折扣金额(如果有)和总金额 打折后购买。
我使用if else if 结构和几个关系运算符解决了这个问题,看起来像这样
//Determine total price based on discounts
if (x >= 10 && x <= 19)
{
total = (((x*99) - (x * 99)* .2));
JOptionPane.showMessageDialog(null, "Your total is $" + total
+ " with a 20% discount");
}
else if(x >= 20 && x <= 49)
{
total = (((x*99) - (x * 99)* .3));
JOptionPane.showMessageDialog(null, "Your total is $" + total
+ " with a 30% discount.");
.
.
.
我想知道是否可以将可能的数字范围存储在单个变量中,然后将其用于case 语句?在这种情况下使用switch 语句是否有意义?我尝试在变量中拟合可能数字的范围(本质上是一个表达式,存储在声明为Boolean的变量中),但由于我声明了变量(x),因此解析的Integer值是用户输入的任何数字JOptionPane 输入对话框它不会让我使用布尔变量。所以我仍然对switch 语句的工作原理有点困惑,但我希望能对使用switch 语句时发生的事情和不发生的事情提供任何帮助。
【问题讨论】:
标签: java