试图添加一个循环

时间:2013-10-30 02:30:06

标签: java

我有一个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 ");

2 个答案:

答案 0 :(得分: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.

答案 1 :(得分:1)

黑暗中的另一个镜头,因为你没有给我们你的错误信息:

int commission = 38_28;

编译器会忽略这些_。他们只是there to make numbers easier to read。例如,您可以说:

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可能开始非常消极?