有人可以提供指导

时间:2013-07-14 04:27:48

标签: java

我非常困惑。我无法弄清楚如何让我的程序实际计算我想要计算的百分比。我已经让我的程序要求输入它应该,但它应该输出计算。我尝试的一切都没有用。有人可以指导我一些如何使计算工作正确吗?我的项目是制定一个计算销售人员年度薪酬的计划。佣金率为年销售额的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+"%");

1 个答案:

答案 0 :(得分:1)

现在annual_sales显然是String值......

String annual_sales = user_input.next();

这对你没什么帮助,因为你无法对String进行计算(这对你有用......)

相反,您需要获得double值。现在您可以使用String解析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) +"%");

看看......

了解更多详情..