gpt4 book ai didi

Java Switch 语句,一起使用 case 值?

转载 作者:行者123 更新时间:2023-12-01 04:18:58 25 4
gpt4 key购买 nike

我一直在努力寻找解决方案,但还没有骰子。我一直在试图找到一种方法来将 switch 语句中的案例值合计在一起。我将提供作业问题和我的进度。其中将包括类和类测试。感谢您的任何建议。

家庭作业?

一家大公司向其销售人员支付佣金。销售人员每周收到 200 美元,外加该周销售额的 9%。例如,一名销售人员每周销售值(value) 5000 美元的商品,他将收到 200 美元加上 5000 美元的 9%,即总共 650 美元。您已获得每个销售人员所售商品的 list 。这些项目的值如下:元素值(value)1 239.992 129.753 99.954 350.89

开发一个 Java 应用程序,输入一名销售人员上周销售的商品,并计算并显示该销售人员的收入。可出售的元素数量没有限制。

*********我的问题:***********< em>************

当我尝试输入多个项目时就会出现问题。当我只做一个项目时,该程序有效。然而,当我进行多次计算时,该程序永远不会将值(value)加在一起,并且销售人员的收入也会减少

类(class)*********

public class SalesCommissionCalculator 
{
private String item;
private double value;

public SalesCommissionCalculator()
{
setItem("");
setValue(0.0);

}

public SalesCommissionCalculator(String i, double v)
{
setItem(i);
setValue(v);

}

public void setItem(String i)
{
item = i;
}

public void setValue(double v)
{
value = v;
}


public String getItem()
{
return item;
}

public double getValue()
{
return value;
}


public String toString()
{
return ("Item"+item+"Value"+value);
}

}

********* ***类测试:

import javax.swing.JOptionPane;
import java.util.Scanner;

public class SalesCommissionCalculatorTest
{
public static void main(String args [])
{

int quantity;
int item;
double salary = 200.00;
double commission = 0.09;
double total= 0;
String msg="";


SalesCommissionCalculator item1 = new SalesCommissionCalculator("1", 239.99);
SalesCommissionCalculator item2 = new SalesCommissionCalculator("2", 129.75);
SalesCommissionCalculator item3 = new SalesCommissionCalculator("3", 99.95);
SalesCommissionCalculator item4 = new SalesCommissionCalculator("4", 350.89);

item=Integer.parseInt(JOptionPane.showInputDialog("Enter item number 1, 2, 3 or 4. Enter -1 to quit."));

while(item != -1)
{
switch(item)
{
case 1: quantity=Integer.parseInt(JOptionPane.showInputDialog("Enter quantity"));
total = (quantity*item1.getValue());
break;

case 2: quantity=Integer.parseInt(JOptionPane.showInputDialog("Enter quantity"));
total= (quantity*item2.getValue());
break;

case 3: quantity=Integer.parseInt(JOptionPane.showInputDialog("Enter quantity"));
total = (quantity*item3.getValue());
break;

case 4: quantity=Integer.parseInt(JOptionPane.showInputDialog("Enter quantity"));
total = (quantity*item4.getValue());
break;

default:
System.out.println("Invalid Item Number");

}

item=Integer.parseInt(JOptionPane.showInputDialog("Enter item number 1, 2, 3 or 4. Enter -1 to quit."));


}

msg = msg + String.format("Your Commission is $%.2f", (total*commission)+salary);

JOptionPane.showMessageDialog(null, msg);

}
}

最佳答案

在任何情况下您都没有累积总数。您现在拥有的(以案例1为例)

total = (quantity*item1.getValue());

只需将总计设置为等于quantity*item1.getValue()。您可能想要的是

total += (quantity*item1.getValue());

相反。 (其他三种情况也类似)

关于Java Switch 语句,一起使用 case 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19170640/

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