0

我有一个 for 循环,我试图让它在年销售额中增加 5000,并在添加佣金的情况下打印最多 10 次计算,但我达不到要求。(这当然是在原始计算之后)为什么我的代码不足?同样在我的第一个输出之后,我无法让其余的代码运行。

System.out.println("Enter your annual sales");
String annual = input.nextLine();

int salary = 7550281;
int commission = 38_28;
if (Integer.parseInt(annual) < 92416_02) {
  commission = 37_28 * 1_32 / 100;
}
int compensation = Integer.parseInt(annual) * commission / 100 + salary;
System.out.println("compensation is: "+compensation );

for(int sales = (Integer.parseInt(annual) ); sales < 10; sales +=5000);
int salary = 7550281;
int commission = 38_28;
if (Integer.parseInt(annual) < 92416_02) {
  commission = 37_28 * 1_32 / 100;
}
int compensation = Integer.parseInt(annual) * commission / 100 + salary;

System.out.println("Your Annual compensation in 5000 increments are ");
4

2 回答 2

3

正确的for循环语法是

for(int sales = (Integer.parseInt(annual) ); sales < 10; sales +=5000){
    //code
}

不是

for(int sales = (Integer.parseInt(annual) ); sales < 10; sales +=5000);

虽然我认为你的逻辑需要一些工作。sales对于此循环的多次迭代,不会小于 10,因为您每次都向其中添加 5000。

于 2013-10-30T02:33:00.680 回答
1

又一次在黑暗中拍摄,因为您没有向我们提供错误信息:

int commission = 38_28;

这些_'s 被编译器忽略。它们只是为了使数字更易于阅读。例如,你可以说:

int phoneNumber = 1_800_555_5555;
int socialSecurityNumber = 123_12_1234;

这与此相同,但可能更易于阅读:

int phoneNumber = 18005555555;
int socialSecurityNumber = 123121234;

在你的情况下,它们毫无意义,所以我会删除它。

可能你想要的是浮点数:

float commission = 38.28;

此外,这个循环非常可疑,除了以分号结尾:

for(int sales = (Integer.parseInt(annual) ); sales < 10; sales +=5000);

sales < 10如果, 你加5000的事实是非常奇怪的。如果这就是这个循环实际上应该做的,我会把它写成一个if语句来减少混乱:

int sales = Integer.parseInt(annual);
if (sales < 10) {
    sales += 5000;
}

或者也许annual开始时非常消极?

于 2013-10-30T03:22:57.980 回答