Почему я получаю сообщение «MyLinkedList.this», на которое нельзя ссылаться из статического контекста?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему я получаю сообщение «MyLinkedList.this», на которое нельзя ссылаться из статического контекста?

Сообщение Anonymous »

Код: Выделить всё

import java.util.LinkedList;
import java.util.List;
import java.util.NoSuchElementException;

public class MyLinkedList {

private ListNode head;
private int size;

//inner class for ListNode
private class ListNode {
private Object data;
private ListNode next;
private ListNode(Object d) {
this.data = d;
this.next = null;
}
}

public MyLinkedList() {
this.head = new ListNode(null); //with a dummy head node
this.size = 0;
}
Метод, над которым я пытаюсь работать, — Interleave, и я получаю эту ошибку.

Код: Выделить всё

public static MyLinkedList interleave(MyLinkedList A, MyLinkedList B) {
MyLinkedList C = new MyLinkedList();
ListNode curA = A.head.next;
ListNode curB = B.head.next;
ListNode curC = C.head;
boolean grabFromA = true;

while (curA != null && curB != null) {
if (grabFromA) {
curC.next = new ListNode(curA.data);
curA = curA.next;
}
else {
curC.next = new ListNode(curB.data);
curB = curB.next;
}
curC = curC.next;
grabFromA = !grabFromA; // Flips grab from A
}
while (curA != null) {
curC.next = new ListNode(curA.data);
curA = curA.next;
curC = curC.next;
}
while (curB != null) {
curC.next = new ListNode(curB.data);
curB = curB.next;
curC = curC.next;
}
return C; //change this as you need.
}
Я не могу изменить, является ли оно статическим или нет, потому что это задание, и если я его изменю, оно не пройдет все тесты. Так что, если кто-то сможет это объяснить, это будет потрясающе. Я пытался использовать метод add в своем задании, но это нестатический метод, поэтому я не могу вызвать его в этом статическом методе.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ic-context
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»