I have this code and it is coming up with the following error:
java: bad operand types for binary operator ‘!=’ first type: Node
second type: int
It is suppose to have the head be 3 and the next Node have data 4. Then the while loop is suppose to print each data from each Node.
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
Advertisement
Answer
Your current code, even if fixed, would result in an infinite loop, because once the while loop is entered, its condition does not change.
I think you want:
while (t != null)
but that doesn’t solve the infinite loop problem.
To have code that behaves as you expect:
for (t = obj; t != null; t = t.next) { System.out.println(t.data); }