作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试计算用户应根据工资支付多少税款。例如,在第一个 if
循环中计算 20%,这将保存在 generaltax
中:
int generalTax = 0;
int userGrossPay = 50000;
if (userGrossPay <= 10600) {generalTax += 0;}
else if (((userGrossPay >= 10600) && (userGrossPay <= 31785))) { generalTax = ((20/100) * userGrossPay); }
else if (((userGrossPay >= 31786) && (userGrossPay <= 150000))) { generalTax = ((40/100) * userGrossPay); System.out.println(generalTax);}
else if (userGrossPay > 150001) {generalTax = ((45/100) * userGrossPay); }
else{System.out.println("error");};
userGrossPay -= generalTax;
System.out.println(userGrossPay);
但是 generalTax
pay 由于某种原因总是停留在 0
并且没有在每次迭代中正确更新。
最佳答案
您的问题是您总是添加 0
或将 0
分配给 generalTax
。
例如,(20/100) * userGrossPay
是 0
,因为 20/100
是 0
由于 int
split 。也将其更改为 0.2 * userGrossPay
或 20.0/100 * userGrossPay
。类似地更改所有其他除以两个整数的地方。
关于Java - Else If 循环不适用于实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32256690/
我是一名优秀的程序员,十分优秀!