有没有办法在这段代码中处理"java:二进制运算符的错误操作数类型"!=?



我有这个代码,它会出现以下错误:

java:二进制运算符"!="的操作数类型错误第一种类型:节点
第二种类型:int

假设头是3,下一个节点有数据4。然后假设while循环打印每个节点的每个数据。

class Node {
Node next = null;
int data;
public Node(int d) {
data = d;
}

Node appendToTail(int d) {
Node end = new Node(d);
Node n = this;
while (n.next != null) {
n = n.next;
}
n.next = end;
return end;
}
public static void main(String[] args) {
Node t;
Node obj = new Node(3);
t = obj.appendToTail(4);
while (t != 0)
{
System.out.println(t);

}
}
}

////

Expected output:
3 4

当前代码即使是固定的,也会导致无限循环,因为一旦进入while循环,其条件就不会改变。

我想你想要:

while (t != null)

但这并不能解决无限循环问题。

要使代码的行为符合您的预期:

for (t = obj; t != null; t = t.next) {
System.out.println(t.data);
}

最新更新