Я выполняю назначение, в котором я создал класс Appliance, в котором есть метод timePasses()
. Этот метод перенаправляет некоторые значения, которые необходимо сохранить в другом методе, который находится внутри другого класса. Вот где я до этого на:Как передать правильное значение при вызове метода?
Appliance
public class ElectricCooker extends Cooker {
public int isOn = -1;
public int isOff = 0;
public int incrementTime;
public int varPass = -1;
@Override
public int currentState() {
if (varPass == 0) {
return isOff;
} else {
return isOn;
}
}
@Override
public void useTime(int defaultTime) {
defaultTime = 15;
incrementTime = 4;
}
@Override
public void timePasses() {
if (varPass == isOff) {
varPass = 0;
} else {
ElectricMeter.getInstance().incrementConsumed(electricityUse);
GasMeter.getInstance().incrementConsumed(gasUse);
WaterMeter.getInstance().incrementConsumed(waterUse);
}
}
ElectricCooker(int electricityUse, int gasUse, int waterUse, int timeOn) {
super(electricityUse, gasUse, waterUse, timeOn);
this.electricityUse = 5 * incrementTime;
this.gasUse = 0 * incrementTime;
this.waterUse = 0 * incrementTime;
this.timeOn = 15 * incrementTime;
}
}
Meter
public class ElectricMeter {
ElectricMeter() {
}
private static ElectricMeter instance = new ElectricMeter();
public static ElectricMeter getInstance() {
return instance;
}
public void incrementConsumed(int value) {
System.out.println(value);
}
public int incrementGenerated() {
}
public boolean canGenerate() {
}
public String getConsumed() {
}
public String getGenerated() {
}
}
Основной метод
public class MainCoursework {
public static void main(String[] args) {
ElectricMeter a = new ElectricMeter();
a.incrementConsumed(//what goes here?);
}
}
Таким образом, значение от timePasses()
было перенаправлено на экземпляр ElectricMeter
, но теперь мне нужно вернуть это значение методу increentConsumed()
в классе счетчика, и я зациклился на том, как это сделать. Поскольку значение electricityConsumed
равно 20, выход должен быть 20
. Но вместо этого я должен передать параметр в a.incrementConsumed(//pass parameter here)
, и то, что когда-либо было передано, печатается на экране вместо 20
от electrictyUse
. Любая помощь в том, как это сделать, ценится, спасибо.