Вы забыли напечатать последний узел. Вы проверяете не только, является ли temp
ненулевым, но также имеет ли он следующий узел после него - поэтому вы выходите, пока l oop до того, как последний узел был фактически напечатан.
Либо измените условия, либо напечатайте последний узел через некоторое время l oop (я бы предложил первый вариант).
Первый вариант:
public void printList() {
Node temp = head;
while (temp != null) {
System.out.print(temp.data + " ");
temp = temp.nextNode;
}
}
Второй вариант:
public void printList(){
Node temp = head;
while (temp != null && temp.nextNode != null){
System.out.print(temp.data + " " );
temp = temp.nextNode;
}
// print last node here
System.out.print(temp.data);
temp = temp.nextNode;
}