编辑:不知道为什么,但代码似乎现在可以正常工作而无需任何编辑。jGrasp 调试器可能有问题吗?
===
好的。所以这是我的家庭作业,将在 2 周后分配,但我想要一个良好的开端。请不要更正我的代码,或分享正确的代码。如果你能指出我正在做的事情的错误,那就太好了。
所以我有node
以下构造函数:
public node(String name)
public node(String name, node next)
我需要public method(ArrayList<String> names)
在一个单独的类中编写一个方法,它将所有元素添加names
到链表中。
这是我现在拥有的:
public method(ArrayList<String> names) {
if(names.size() == 0 || names == null) {
throw new IllegalArgumentException();
}
// Handle base case, create first node
first = new node(names.get(0)); // first has been declared above
node current = first;
// Add at the end of the list
for(int i = 1; i < names.size(); i++) {
current.next = new node(names.get(i));
current = current.next;
}
}
我不确定为什么这不能按要求工作。我正在使用 jGrasp,并使用调试器,我看到最后,我得到了一个只有 1 个值的链表(ArrayList 中的最后一个元素)。为什么?
请不要推荐使用任何高级功能,因为我是 Java 新手,使用任何进一步的高级功能只会让我感到困惑。