Я пытаюсь создать метод, который добавит узел в мой связанный список. Метод принимает строку. Это метод, который я создал:добавить метод не работает для связанного списка в Java
public void add(String x)
{
Node newNode = new Node();
newNode.element = x;
newNode.nextNode = firstNode;
firstNode = newNode;
}
К сожалению, этот код не работает. Есть ли способ изменить его, чтобы он работал?
Вот вся информация, которую я была предоставлена:
Связанный список класса с узлом внутреннего класса:
class LinkedList implements StringCollection
{
private static class Node
{
public String element;
public Node nextNode;
public Node (String element)
{
this.element = element;
this.nextNode = null;
}
}
private Node firstNode;
public NodeStringCollection()
{
firstNode = null;
}
//add method goes here
public String toString()
{
String s = "";
Node node = firstNode;
while (node != null)
{
s = s + node.element + " ";
node = node.nextNode;
}
return s;
}
}
Испытано Linked Класс:
Class Test
{
public static void main(String [] args)
{
StringCollection sc = new LinkedList();
sc.add (new String ("A"));
sc.add (new String ("B"));
sc.add (new String ("C"));
sc.add (new String ("D"));
System.out.println (sc);
int countStrings = sc.size();
System.out.println (countStrings);
}
}
Выход
D C B A
4
Во-первых, непонятно, почему вы вызываете конструктор 'String (String)'. Затем ваш код работает, потому что он добавляет новый узел. Он помещает его в * фронт * списка - это проблема? Каким образом выход не тот, который вы ожидаете? –
«К сожалению, этот код не работает». Вам нужно подробно остановиться на этом. В чем проблема? – JamesB