go to previous page   go to home page   go to next page highlighting

Answer:

p != null

The condition of the while tests if p points to a Node. If so, the body of the loop uses that pointer.


Advancing the Pointer

advancing the pointer

p is advanced through the list node by node. Soon it reaches the last node, prints it out, and p = p.getNext() copies a null into p. This terminates the loop.

Here is the complete program. Compile and run it. Play with it. Make a longer linked list. (This program prints an extra comma at the end. You may wish to fix this.)

public class ChainMaker
{
  public static void main ( String[] args )
  {
    Node node0 = new Node( 223 );  
    Node node1 = new Node( 493 );
    Node node2 = new Node( -47 );  
    Node node3 = new Node(  33 );
  
    node0.setNext( node1 );
    node1.setNext( node2 );
    node2.setNext( node3 );
    node3.setNext( null );  // not needed. Here as a reminder.
    
    // Traverse the Linked List in a loop
    Node p = node0;
    while ( p != null  )
    {
      System.out.print( p + ", " );
      p = p.getNext();
    }
    System.out.println( "\nEnd of List");
  }
}

Here is what the program prints:

C:\JavaSource> javac Node.java ChainMaker.java
C:\JavaSource> java ChainMaker
223, 493, -47, 33,
End of List
C:\JavaSource>

QUESTION 10:

Will the program work with a list of just one Node?


go to previous page   go to home page   go to next page