我试图理解这个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