У меня есть функция, которая должна возвращать объект place, но мне также нужно проверить, оценивает ли что-то значение false, и, кроме того, вызывающая сторона должна знать обе эти части информации.У меня есть тип возвращаемого значения как Place, но в Java нет ссылочных параметров, поэтому, если следующее условие if истинно, я бы хотел как-то отразить это в вызывающей программе, чтобы я мог проверить это, но не могуболее одного типа возврата, поэтому я застрял в том, что делать.Мой лучший выстрел возвращал ноль, но у меня просто ощущение, что это плохое программирование.
if (directions.get (i) .isLocked ())
Ниже приведена полная функция:
Place followDirection(String dir, boolean isLocked) {
dir = dir.toLowerCase(); // make sure the string is lowercase for comparisons
int i = 0;
for ( i = 0; i < directions.size(); i++ ) { // loop until we find a match, remember that if it's locked then we cnanot go in there
if ( directions.get(i).getDirection().equals(dir) ) {
if ( directions.get(i).isLocked() ) {
System.out.println("This room is locked, sorry");
}
else {
return directions.get(i).getToPlace(); // this means we found a match, return the destination
}
}
}
Place p = null;
return p;
}