Я делал кучу упражнений, и все это имело смысл, но когда мне пришлось писать код с нуля, я внезапно смутился, если бы кто-нибудь помог мне немного, это было бы здорово.Как вернуть объект из класса, и что именно представляет собой этот объект, когда конструктор создает новый HashMap?
у меня есть:
public class Airplane {
private HashMap<String,Integer> plane;
public Airplane() {
this.plane = new HashMap<String,Integer>();
}
public addAirplane(String id, int capacity) {
this.plane.put(id,capacity);
public class Flight {
private HashMap<Airplane, List<String>> flight;
public Flight() {
this.flight = new HashMap<Airplane,List<String>>();
public addFlight(Airplane airplane, String departurePort, String destinationPort) {
this.flight.put(airplane, Arrays.asList(departurePort, destinationPort));
}
Тогда у меня есть еще один класс, где я создаю экземпляры как плоскости и полета,
private Airplane airplane = new Airplane();
private Flight flight = new Flight();
и по большей части, кажется, работает хорошо, но я не могу выяснить, что я должен получить и добавить здесь.
Я прочитал идентификатор самолета и два кода аэропорта от пользователя, и я хочу сделать что-то вроде этого:
flight.addFlight(//here I have Airplane's name//, departureAirport, destinationAirport);
Таким образом, в основном два вопроса: 1) Как получить объект «Самолет» при наличии только его имени. 2) Что это за объект «Самолет»? Это HashMap? Это экземпляр HashMap? Есть ли разница, если я попытаюсь передать HashMap вместо Airplane методу flight.addFlight (самолет, строка, строка)?
Вы не используете карты '' Самолет'' и 'Flight' не должны содержать карты. Они должны содержать 'id' и' capacity', которые должны передаваться в конструкторе. Вы действительно хотели бы иметь еще два класса, которые содержат «Map», в том числе 'id' является уникальным. Там вы хотите хранить экземпляры «Самолет» и «Полет». –
SomeJavaGuy
Ваш код не имеет смысла. Он прерывается в середине метода, а затем начинает определять класс. Не могли бы вы разместить менее фрагментарный код, если вы отправляете код, пожалуйста? – khelwood
@khelwood Я усекал его, как я уже говорил, код действительно работает –