public class MotorCar extends Vehicle
{
private String engCap;
public double getLicenseFee()
{
double fee;
if(this.engCap < "1500cc")
{
return fee = 750;
}
else if(this.engCap > "1500cc" && this.engCap < "2500cc")
{
return fee = 900;
}
else(this.engCap > "2500cc")
{
return fee = 1250;
}
}
}
这有什么问题?
最佳答案
您不能使用小于<
和大于>
运算符比较字符串(或任何其他对象)。
如果将engCap变量更改为int并删除“ cc”部分,则可以按照您尝试的方式进行比较。
例如:
public class MotorCar extends Vehicle {
private int engCap;
public double getLicenseFee() {
double fee;
if(this.engCap < 1500) {
return fee = 750;
} else if(this.engCap > 1500 && this.engCap < 2500) {
return fee = 900;
} else(this.engCap > 2500) {
return fee = 1250;
}
}
}
关于java - 二进制运算符的操作数类型错误。我在以下程序中收到该错误。请解释为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15911607/