我有这个代码,它会出现以下错误:
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);
}