Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LinkedList:最后一个节点上的节点要替换什么?_Java_Constructor_Linked List_Null_Nodes - Fatal编程技术网

Java LinkedList:最后一个节点上的节点要替换什么?

Java LinkedList:最后一个节点上的节点要替换什么?,java,constructor,linked-list,null,nodes,Java,Constructor,Linked List,Null,Nodes,这就是我的LinkedNode类中的构造函数: int info; LinkedNode next; public LinkedNode(int info, LinkedNode next) { this.info = info; this.next = next; } 在我的Test(main)类中,当我尝试创建这样的节点时: LinkedNode d = new LinkedNode(40, null); LinkedNode c = new LinkedNode(30

这就是我的
LinkedNode
类中的构造函数:

int info;
LinkedNode next;

public LinkedNode(int info, LinkedNode next) { 
    this.info = info;
    this.next = next;
}
在我的
Test
(main)类中,当我尝试创建这样的节点时:

LinkedNode d = new LinkedNode(40, null);
LinkedNode c = new LinkedNode(30, d);
LinkedNode b = new LinkedNode(20, c);
LinkedNode a = new LinkedNode(10, new LinkedNode(20, LinkedNode(30, LinkedNode(40, null))));
,然后我得到一个编译器错误告诉我

对于测试类型,未定义LinkedNode方法(int,null)


这是真的,因为我的构造函数的第二个参数是LinkedNode类型,但是我如何表示最后一个节点的
next
是空的?

下面的代码在语法上是正确的(正如chatton所说,
new
关键字丢失了)

但也许你是说

LinkedNode a2 = new LinkedNode(10, b);

相反?

以下代码在语法上是正确的(正如查顿所说,
new
关键字缺失)

LinkedNode d = new LinkedNode(40, null);
LinkedNode c = new LinkedNode(30, d);
LinkedNode b = new LinkedNode(20, c);
LinkedNode a = new LinkedNode(10, new LinkedNode(20, new LinkedNode(30, new LinkedNode(40, null))));
但也许你是说

LinkedNode a2 = new LinkedNode(10, b);
相反

LinkedNode d = new LinkedNode(40, null);
LinkedNode c = new LinkedNode(30, d);
LinkedNode b = new LinkedNode(20, c);
LinkedNode a = new LinkedNode(10, new LinkedNode(20, new LinkedNode(30, new LinkedNode(40, null))));


我试过使用您的代码,但在添加新关键字时效果很好

LinkedNode c = new LinkedNode(10, new LinkedNode(20, new LinkedNode(30, new LinkedNode(40, null))));

我尝试了你的代码,但它的工作时,添加新的关键字

LinkedNode c = new LinkedNode(10, new LinkedNode(20, new LinkedNode(30, new LinkedNode(40, null))));

看起来您缺少了“new”关键字,其中d、c和b LinkedNode没有与a链接。您不应该这样做:
LinkedNode a=newlinkednode(10,b)
Argh!谢谢,我知道了,我错过了两次,所以我想这与'null'关键字无关,对吧?每次你想创建一个新的链接节点,你都需要用新关键字调用构造函数。在最后一行代码中,看起来您打算传入链接节点的新实例,但实际上您正在调用一个不存在的方法。因此,该错误看起来像是您缺少了“new”关键字,其中d、c和b LinkedNode没有与a链接。您不应该这样做:
LinkedNode a=newlinkednode(10,b)
Argh!谢谢,我知道了,我错过了两次,所以我想这与'null'关键字无关,对吧?每次你想创建一个新的链接节点,你都需要用新关键字调用构造函数。在最后一行代码中,看起来您打算传入链接节点的新实例,但实际上您正在调用一个不存在的方法。因此出现了错误是的,我确实在第二段代码中使用了您的代码,但我只是想尝试一种不同的递归方式。现在我唯一的问题是,我假设'null'属于LinkedNode类型(或任何节点),并且可以作为第二个参数,对吗?是的,将null作为第二个参数是完全可以的。是的,我确实在第二个代码中使用了您所拥有的,但只是想尝试一种不同的递归方式。现在我唯一的问题是,我假设'null'属于LinkedNode类型(或任何节点),并且可以作为第二个参数,对吗?是的,将null作为第二个参数完全可以。