用Java连接两个节点

时间:2018-01-17 15:08:36

标签: java list join nodes connect

因此,对于一个项目,我必须创建两个节点,我已经完成了,然后使用构造函数创建一个单独的类,该构造函数将两个节点作为参数,然后连接/链接它们。这是我的类创建节点。

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;


    }
}

谢谢!

1 个答案:

答案 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;
    }
}