因此,对于一个项目,我必须创建两个节点,我已经完成了,然后使用构造函数创建一个单独的类,该构造函数将两个节点作为参数,然后连接/链接它们。这是我的类创建节点。
package Linear;
public class StringNode {
public String data;
public StringNode next;
public StringNode(String data, StringNode next) {
this.data = data;
this.next = next;
}
public String toString() {
return data + "";
}
public static void main(String[] args) {
StringNode newNode = new StringNode("Everest", null);
System.out.println(newNode);
StringNode newNode2 = new StringNode("Kilimanjaro", null);
System.out.println(newNode2);
}
}
所以这里创建的两个节点叫做Everest和Kilomanjaro,我需要使用构造函数连接这些节点,但是我遇到了问题。我有类似的东西,但是当我尝试调用它时,它会在参数中抛出错误(Edgelist(StringNode,StringNode)未定义)。
package Linear;
public class EdgeList {
public StringNode insert(StringNode firstNode, StringNode secondNode) {
secondNode.next = insert(firstNode, secondNode.next);
return secondNode;
}
}
谢谢!
答案 0 :(得分:0)
Edgelist(StringNode, StringNode)
它看起来像构造函数,您没有在类中定义它。因此,如果没有构造函数 - 它就不能被调用。
您可以创建setter(或在公共时使用变量),并在初始化后为两个节点调用setter。
StringNode newNode = new StringNode("Everest", null);
StringNode newNode2 = new StringNode("Kilimanjaro", null);
newNode.setNext(newNode2);
newNode2.setNext(newNode);
或者,如果你真的需要新课程,你可以这样做:
public class EdgeList {
public EdgeList(StringNode firstNode, StringNode secondNode) {
secondNode.next = firstNode;
firstNode.next = secondNode;
}
}