Я использую BlueJay как свою IDE. Моя цель - создать метод, который печатает каждое значение в списке в одной строке, начиная с головы, разделенной тремя пробелами.java.lang.StackOverflowError в связанном списке?
То, что я до сих пор там, и это не вызывает никаких ошибок синтаксиса в BlueJ:
public String toString(E val) {
Node<E> node = head;
Node<E> newNode= new Node<E>(val);
String str = " ";
if (!isEmpty()) {
newNode.next = head;
head= newNode;
while ((head!= null)){
str += toString(head.val);
str += toString(head.val) + " " + " " + " ";
newNode = newNode.next;
}
return str;
}
Однако, после изменения его вокруг, когда я пытаюсь проверить мой код в Голубой J с помощью «инспектировать» и я вхожу строка. Я просто получаю «пробел» вместо строки, которую я ввел с тремя пробелами. У меня есть ощущение, что он должен делать с
my str = toString(head.val);
str += toString(head.val) + " " + " " + " ";
Я пытался конкатенации строк, но это не сработало. Любые предложения по устранению этой ошибки?
Вы никогда не меняется 'head' в' while' цикла, поэтому он никогда не заканчивается. –
Я предполагаю, что внутри цикла 'while' это' head = newNode.next; 'вместо' newNode = newNode.next; '? –