Таким образом, на каком этаже лифт должен быть прочитан и изменен, но только в пределах допустимого диапазона только для того дома, в котором установлен лифт. Я пытаюсь получить условие «Если», работающее в поискахлогическое истинное значение из метода "validFloor".
Исходя из моих начальных знаний Java, я предполагаю, что вставка условия "If" в метод set является правильной попыткой?
private int currentFloor = 0;
private int numberOfFloors;
private boolean validFloor = false;
public Elevator(int numberOfFloors) {
this.numberOfFloors = numberOfFloors;
}
//Sets the allowed number of floors (0 to 100)
public void allowedNumberOfFloors() {
if (numberOfFloors < 2) {
numberOfFloors = 2;
} else if (numberOfFloors > 100) {
numberOfFloors = 100;
}
}
//Checks validity of the elevator floor in relation to total floors.
public void validFloor() {
if (currentFloor > numberOfFloors && currentFloor < 0) {
this.validFloor = false;
}
}
//Checks whether the specified floor is in reasonable range.
public void setFloor(int currentFloor) {
if (validFloor) {
this.currentFloor = currentFloor;
}
}
public int getFloor() {
return currentFloor;
}
public String toString() {
return "Number of floors: " + numberOfFloors + "\nCurrent floor: " + currentFloor;
}
Например, если вы пытаетесь переместить лифт на этаж 74 в доме, который имеет только 5 этажей, он не должен работать.Я хочу, чтобы шипение начиналось с нижнего этажа 0, поэтому значение 0 в переменной класса "currentFloor".
Условие If в методе validFloor, похоже, вообще не распознается.Вместо этого все, что имеет значение, это логическое значение, которое я помещаю в переменную класса validFloor.