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, suitable for running. (The program presented here 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