Как мы создаем узлы двойного связанного списка для строки, разделенной запятой?
Я работаю над проектом, и он требует, чтобы я сгенерировал toString() в интерфейсе двойного связанного списка. Мы могли бы использовать StringBuilder и метод добавления, но я хотел сделать его немного базовым, просто возвращая их без какого-либо встроенного метода java.
Что я уже пробовал:
@Override public String toString() { String result = ""; DoubleLinkedNode currentNode = this.firstNode; while(currentNode != null) { System.out.print(current.data + ", "); result += currentNode.data.toString() +" , "; currentNode = currentNode.next; } String now = " ."; return result + now; // this is returned in case bag is empty. }
Ожидаемый :
"a", "q", "%", "asdf"
Выход:
asdf, 123, q, a, asdf , 123 , q , a , .
Richard MacCutchan
Похоже, что ваш список не содержит того, что вы думаете.
Richard Deeming
Ваш код, кажется, путается между current
и currentNode
- Это опечатка в вашем вопросе?
Archit Raj
Да, возможно, это опечатка. Оба такие же.
Richard Deeming
Помимо 123 против"%", ваш вывод кажется двойной копией ожидаемого списка в обратном порядке.
Я подозреваю, что вы получаете две копии из-за System.out.print
позвоните в полицию. toString
метод. Удалите это, и вы должны перейти к одной копии: asdf , 123 , q , a , .
Теперь вам просто нужно понять, почему ваш список находится в обратном порядке, и почему вы получаете 123
вместо "%". :)