计算气体损失量并将汽车当前的气体容量设置为新值。 我忘记将此部分添加到问题中。气体量不超过顶部气体容量。我想知道这是对的吗?
private final int GAS_CAP = 30
public int getGasCapacity(int gasCapacity)
{
if(currentGas <= GAS_CAP)
{
gasCapacity = GAS_CAP - currentGas;
}
else gasCapacity = currentGas;
return gasCapacity;
}
答案 0 :(得分:1)
您的方法不会改变对象的状态,它只返回一个值。您只需为方法的gasCapacity
参数指定一个值,该参数是方法的本地参数。
如果它应该改变一些东西,那么你就错了。
此外,您没有对gasCapacity
变量中传递给您的方法的值做任何事情,因此您的逻辑似乎不正确。
答案 1 :(得分:1)
你可能需要两种方法,一种是获取当前的气体(访问者),一种是设置它(变异器)。
public int getGasLost(){
return GAS_CAP - currentGas;
}
public void setGasCapacity(int gasCapacity){
GAS_CAP = gasCapacity;
}
但是,由于GAS_CAP
似乎是final
值,您无法更改它,是否可以确认?