Добавление в пользовательский список - PullRequest
0 голосов
/ 20 ноября 2019

Я пытаюсь добавить бронирование в пользовательский список бронирования.

Это класс бронирования

public class Booking {
    String forename = null;
    String surname = null;
    int numberOfSeats = 0;

    public Booking() {
        this.forename = forename;
        this.surname = surname;
        this.numberOfSeats = numberOfSeats;
    }

В другом классе у меня объявлен список, естьспособ добавить бронирование в этот список:

public class TheatreShow {
List<Booking> booking = new ArrayList<Booking>();

    public void addBooking(String forename, String surname, int numberOfSeats) {
    booking.add(numberOfSeats, surname, numberOfSeats);
}

Ошибка, которую я получаю, заключается в том, что она не применима для аргументов.

The method add(int, Booking) in the type List<Booking> is not applicable for the arguments (int, String, int)

Ответы [ 2 ]

0 голосов
/ 20 ноября 2019

Вы должны создать все аргументы конструктора:

public class Booking {
    String forename = null;
    String surname = null;
    int numberOfSeats = 0;

    public Booking(String forename, String surname, int numberOfSeats) {
        this.forename = forename;
        this.surname = surname;
        this.numberOfSeats = numberOfSeats;
    }
}

Затем вам нужно создать новый экземпляр брони и добавить его в список:

 public class TheatreShow {
     List<Booking> booking = new ArrayList<>();

     public void addBooking(String forename, String surname, int numberOfSeats){
        booking.add(new Booking(forename, surname, numberOfSeats));
     }
}
0 голосов
/ 20 ноября 2019

Изменить

booking.add(numberOfSeats, surname, numberOfSeats);

На

booking.add(new Booking(forename, surname, numberOfSeats));

Ваш список представляет собой список Bookings, поэтому он хранит только элементы типа Booking. Вам нужно создать новый Boooking с forename, surname и numberOfSeats, которые вы получили по параметру, перед добавлением в список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...