public String recursiveToString()
{
DoubleLinkedListNode<T> current = first;
String list = "";
if(current == null)
{
return "";
}
else
{
list += current.info + ", ";
current = current.next;
return list + recursiveToString();
}
}
我应该在运行代码时打印出列表,但每次运行时它都会崩溃。这是我到目前为止所做的一切。
答案 0 :(得分:0)
首先,您希望每次都将列表中的当前位置传回函数,因此请将您的签名更改为:
public String recursiveToString(DoubleLinkedListNode<T> current)
然后改变你的代码,以便它使用它并继续传递它,list变量也是不必要的,递归将负责连接所有内容:
public String recursiveToString(DoubleLinkedListNode<T> current)
{
if(current == null)
{
return "";
}
else
{
return current.info + " " + recursiveToString(current.next);
}
}
如果您想在不更改函数签名的情况下执行此操作,只需重命名上面的函数并为无参数函数创建定义,如下所示:
public String recursiveToString()
{
return aboveFunction(first);
}