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

Answer:

No. But the testing program needs changes.


Flock of Birds

public class GenericLinkedListTester
{
  public static void main( String[] args )
  {
    // create an empty generic linked list
    GenericLinkedList<Bird> list = new GenericLinkedList<>(); 
    
    // insert some Birds
    Bird bird = new Bird("Turdus", "migratoris", "Robin", 1 );
    list.insertFirst( bird );
    bird = new Bird("Cyanocitta", "cristata", "Blue Jay", 1 );
    list.insertFirst( bird );
    bird = new Bird("Spinus", "tristis", "Goldfinch", 1 );
    list.insertFirst( bird );
  
    list.traverse();
    System.out.println("\n"); 
    
    // test getFirst()
    System.out.println("First: " + list.getFirst() );
    list.deleteFirst();
    list.traverse();
    System.out.println("\n"); 
    System.out.println("New First: " + list.getFirst() );
    
    // test increment
    bird = list.getFirst();
    bird.incSightings();
    list.traverse();
    System.out.println("\n"); 
    
    // test getLast()
    System.out.println("Last : " + list.getLast() );
 
  }
}

A better testing program would carefully test each case.

PS C:\Code> javac GenericLinkedListTester.java
PS C:\Code> java GenericLinkedListTester
Spinus tristis (Goldfinch) seen:1 Cyanocitta cristata (Blue Jay) seen:1 Turdus migratoris (Robin) seen:1

First: Spinus tristis (Goldfinch) seen:1
Cyanocitta cristata (Blue Jay) seen:1 Turdus migratoris (Robin) seen:1

New First: Cyanocitta cristata (Blue Jay) seen:1
Cyanocitta cristata (Blue Jay) seen:2 Turdus migratoris (Robin) seen:1

Last : Turdus migratoris (Robin) seen:1

QUESTION 12:

(Another Brain Teaser: ) Look at the start of the program:

    // create an empty generic linked list
    GenericLinkedList<Bird> list = new GenericLinkedList<>(); 
    
    // insert some Birds
    Bird bird = new Bird("Turdus", "migratoris", "Robin", 1 );
    list.insertFirst( bird );
    bird = new Bird("Cyanocitta", "cristata", "Blue Jay", 1 );
    list.insertFirst( bird );
    bird = new Bird("Spinus", "tristis", "Goldfinch", 1 );
    list.insertFirst( bird ); 
   . . . 

Now how many objects are constructed? Keep in mind that Strings are objects.


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