2014-10-18 3 views
1

рассчитать количество потерянного газа и установить текущую емкость газа автомобиля на новое значение. Я забыл добавить эту часть к вопросу. количество газа не превышает верхнюю газовую емкость. Я хотел бы знать, это право?Как написать аксессуар и мутатор?

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

Возможно, для этого вам понадобятся два метода: один для получения текущего газа (аксессуар) и один для его установки (мутатор).

public int getGasLost(){ 
    return GAS_CAP - currentGas; 
} 

public void setGasCapacity(int gasCapacity){ 
    GAS_CAP = gasCapacity; 
} 

Однако, так как GAS_CAP кажется, значение final, вы не сможете изменить его, вы можете это подтвердить?

+0

Правильно GAS_CAP является окончательным значением – JayLo

+0

В этом случае вы не можете его изменить, убедитесь, что вы пытаетесь получить и установите правильные переменные, а затем вернитесь ко мне. – SamTebbs33

+0

@JayLo, если вы хотите, чтобы mutater не использовал конечный –

Смежные вопросы