这些是我尝试在下面运行我的程序时得到的错误..不知道如何解决它们..刚刚开始学习java:
C:\Users\Bryce\Desktop\1504\taxable.java:14: error: bad operand types for binary operator '<'
(salary >= 15000<20000) {
^
first type: boolean
second type: int
C:\Users\Bryce\Desktop\1504\taxable.java:17: error: bad operand types for binary operator '<='
(salary>=15000<=35000); {
^
first type: boolean
second type: int
2 errors
Process completed.
------------------------------------------------------------------------------------------
代码:
import java.util.*;
public class taxable {
public static void main (String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("Enter your salary:");
double salary=in.nextDouble();
double taxDue;
if (salary < 15000) {
System.out.println("No tax applicable");
}
if (salary >= 15000<20000) {
taxDue=15000*10/100;
}
if (salary>=15000<=35000);
{
taxDue=15000*10/100+20000*20/100;
}
if (salary > 35000);
{
taxDue=(15000*10/100)+(20000*20/100)+(salary-35000)*35/100;
}
System.out.printf("The amount of tax due is: " + taxDue + " ");
double avTaxRate;
avTaxRate=taxDue/salary*100;
System.out.printf("The average tax rate: " + taxDue + "%%");
}
}
答案 0 :(得分:1)
salary >= 15000<20000
不是有效构造,因为salary >= 15000
被计算为布尔值,(boolean) < 20000
无效。如果要进行多重比较,可以将其分解为多个子句,例如
if (salary >= 15000 && salary < 20000) {
}
有关构建if子句的更多信息,请访问Java tutorials
答案 1 :(得分:0)
一些错误:
salary>=15000<=35000
在java中是错误的,我不知道你认为它意味着什么。同样在这里salary>=15000<=35000
。也许你想说salary > x && salary <= y
。if (salary>=15000<=35000); {
。您可能希望删除分号,否则括号之间的代码将始终运行,它不是if
子句的一部分。