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