Как создать LinkedList объектов с нуля (без использования API Java) - PullRequest
0 голосов
/ 14 октября 2019

Мне нужно создать LinkedList объектов с нуля, и я просто не могу разобраться с этим, я не уверен, нужен ли мне класс для связанного списка и узла или я могу сделать это в объектесам класс. Я также делаю это на JavaFx, используя конструктор сцены, поэтому мне нужно добавить объекты через пользовательский ввод из класса контроллера.

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

Это мои текущие поля объекта Show и конструктор

public class Show {

        private String title;
        private int runningTime;
        private String startDate, endDate;
        private int ticketPrice;
        public Node head, next;



        public Show (String title, int runningTime, String startDate, String 
                     endDate, int ticketPrice) {
            this.title = title;
            this.runningTime = runningTime;
            this.startDate = startDate;
            this.endDate = endDate;
            this.ticketPrice = ticketPrice;
            next=null;
        }

Когда я пытаюсь вызвать голову, которую я сделал общедоступной в моем классе Show, выдает ошибку "Нестатическое полеНа 'head' нельзя ссылаться из статического контекста "

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

1 Ответ

0 голосов
/ 14 октября 2019

Добавление следующего метода в ваш класс 'Show' будет работать. Вы не можете ссылаться на 'head' прямо здесь, потому что main не выполняется в контексте объекта Show и, следовательно, не может получить доступ ни к каким переменным члена класса. Однако он может получить доступ к этим переменным-членам, квалифицированным экземпляром класса Show. Пожалуйста, обратите внимание, что я не сторонник того, чтобы вы раскрывали детали реализации, как это, но это другое обсуждение.

public static void main(String args) {
  Show show = new Show(....);
  show.head = new Node(...);
}
...