我有一个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 ");
答案 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
可能开始非常消极?