Сначала мы автоматически нумеруем наши автобусы.
class Bus {
private static int lastId = 0;
int id;
Bus() {
id = ++lastId; // assign unique bus id
}
int getId() {
return id;
}
}
Где-то мы отслеживаем наши автобусы по мере их создания. Так как мы хотим отслеживать по целому номеру идентификатора, карта от идентификатора к шине полезна. (Мы могли бы также использовать массив, так как номера шин распределены плотно, но карта имеет некоторые преимущества, если шины уничтожены или созданы, так как номера шин больше не обязательно плотные).
Map<Integer, Bus> busMap = new HashMap<>();
bus = new Bus(); // 1
busMap.put(bus.getId(), bus);
bus = new Bus(); // 2
busMap.put(bus.getId(), bus);
Теперьчтобы получить / проверить шину (предположим, пользовательский ввод в int b
):
bus = busMap.get(b);
if (bus == null)
… then b is not a valid bus id …
… otherwise we have the bus we wanted …