-4

我完全糊涂了。我不知道如何让我的程序实际计算我试图让它计算的百分比。我已经让我的程序像它应该的那样要求输入,但它应该输出计算。我尝试过的一切都不起作用。有人可以指导我如何使计算正确吗?我的项目是制作一个计算销售人员年薪的程序。佣金率为年销售额的8%,销售人员的固定工资为30000。我的程序假设要求用户输入年销售额。它这样做。但是假设把输入的年销售额计算出来,计算出所赚取的佣金,然后显示年薪,即固定工资+佣金。我一直在一步一步地工作,并在我走的时候检查每一步。两个星期以来,我一直在试图弄清楚如何进行计算。我所能做的就是显示 8%。我知道它缺少一些东西,但我不确定是什么。提前感谢任何帮助。谢谢你。这是我的代码:

public class AnnualCompensation {

public static void main(String[] args){

double percentRate = .08;
int fixedSalary = 30000;
double annualSales = 0;
float Percentage;

Scanner user_input = new Scanner(System.in);


System.out.print("Please enter your annual sales ");

String annual_sales;
annual_sales = user_input.next();


Percentage = (float) ((annualSales*100)/8);

System.out.println("Percentage is: "+.08+"%");
4

1 回答 1

1

现在annual_sales,显然是一个String价值......

String annual_sales = user_input.next();

这对您没有多大帮助,因为您无法对 a 执行计算String(这将对您有任何用处......)

相反,您需要获得一个double值。现在您可以解析Stringusing Double.parseDouble(String),但坦率地说,直接从扫描仪询问它可能同样容易......

annualSales = user_input.nextDouble();

现在,您还应该确保您的计算没有被装箱int...

double Percentage = 0d;
Percentage = ((annualSales*100d)/8d);

nb- 看到你正在处理双重输入,不妨保持所有输入double,更少需要在每个地方进行强制转换......

最后,你需要打印它...

System.out.println("Percentage is: "+ NumberFormat.getPercentInstance().format(Percentage) +"%");

看一眼...

更多细节..

于 2013-07-14T04:39:26.170 回答