gpt4 book ai didi

Java Switch 声明,折扣

转载 作者:行者123 更新时间:2023-12-02 06:14:51 24 4
gpt4 key购买 nike

我在尝试为我的程序创建 switch 语句时陷入困境。为了充分披露,这是明天到期的家庭作业。我应该使用 switch 语句来为所售 CD 的总费用指定折扣率。黄金级折扣 15%,银级折扣 10%,铜级折扣 5%,非成员(member) 0%。

这是到目前为止我的程序。我还没有得到输出,但只要我无法通过这个开关,这就不应该成为问题。

public static void main(String[] args) {
//Variables
String firstName = null;
String lastName = null;
int songs;
double cost;
int membership;
double serviceCharge;
double productCharge;
double baseCharge;
//Keyboard input
Scanner keyboard = new Scanner(System.in);

//Gathering information from the user
System.out.println("Enter your first name:");
firstName = keyboard.nextLine();
System.out.println("Enter your last name:");
lastName = keyboard.nextLine();
System.out.println("Enter the number of songs downloaded:");
songs = keyboard.nextInt();
System.out.println("enter the cost per song:");
cost = keyboard.nextDouble();
System.out.println("Enter the status of membership:"
+ "3 represents a gold member"
+ "2 represents a silver member"
+ "1 represeents a bronze member:"
+ "0 represents a nonmember");
membership = keyboard.nextInt();

//Here is where the math starts
baseCharge = cost * songs;

serviceCharge = baseCharge;
if (songs <= 8)
serviceCharge = .07 * baseCharge;
else if (songs > 8 && songs <= 15)
serviceCharge = .04 * baseCharge;
else if (songs > 15 && songs < 20)
serviceCharge = .02 * baseCharge;
else if (songs <= 20)
serviceCharge = 0;

productCharge = baseCharge + serviceCharge;

switch (membership)
{
case 3: productCharge * .15;
break;
case 2:
break;
case 1:
break;
case 0:
break;
default:
break;
}

显然你不能在 switch 语句中使用 double,但我迷路了。我该如何在不使用双倍的情况下分配百分比折扣率?你需要小数才能正确地进行数学计算。还是我的看法完全错误?

完成程序的其余部分后,输出应该是这样的。

输入您的名字:约翰输入您的姓氏:美国能源部输入下载的歌曲数:8输入每首歌曲的费用:0.99输入成员(member)状态:3代表金卡成员(member)2代表银卡成员(member)1代表铜牌成员(member);0代表非成员(member):1全名:约翰·多伊下载歌曲数量:8每首歌曲的价格:$0.99服务费:$0.32小计:7.60 美元税费:0.36 美元总费用:7.58 美元

抱歉文字墙。预先非常感谢您提供的任何帮助。

最佳答案

您可以通过 switch/case 将折扣信息保存在 double 变量中:

   double discount = 0.0;//some default value

switch (membership)
{
case 3:
discount = .15;
break;
case 2:
discount = .05
break;
//etc.
default:
discount = 0.0;//some default value
break;
}
//now do the calculation using the discount variable
double finalProductCharge = productCharge * (1.0 - discount);

关于Java Switch 声明,折扣,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21585728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com