title: How to make the array sort by Product[counter].getProductTitle()?
body: <p>Question: Where does <code>productArray</code> come from in these:</p>
  
  <pre><code>for ( Product product : productArray )
  </code></pre>
  
  <p>&amp;</p>
  
  <pre><code>Arrays.sort( productArray, new ProductComparator() );
  </code></pre>
  
  <p>Question: What am I doing wrong? How do I make this sort?</p>
  
  <p>Related <a href="https://stackoverflow.com/questions/1307845/help-with-sort-method-java-homework">Post</a> from Yesterday </p>
  
  <hr>
  
  <pre><code>                                 EDIT
  </code></pre>
  
  <p>:::EDIT:::
  Ok I took your advice here about </p>
  
  <pre><code>Product productArray[] = new Product[ARRAY_LENGTH]
  </code></pre>
  
  <p>Now it is broke here</p>
  
  <pre><code>/tmp/jc_22339/InventoryPart2.java:99: cannot find symbol
  symbol  : variable productArray
  location: class InventoryPart2
      for ( Product product : productArray ) {
                              ^
  /tmp/jc_22339/InventoryPart2.java:101: cannot find symbol
  symbol  : variable productArray
  location: class InventoryPart2
          inventoryValue += productArray.calcInventoryValue();
                            ^
  </code></pre>
  
  <p>And if I do it like</p>
  
  <pre><code>for ( Product product : productArray[] ) {
  </code></pre>
  
  <p>I get</p>
  
  <pre><code>/tmp/jc_23524/InventoryPart2.java:69: '.class' expected
      for ( Product product : productArray[] ) {
                                             ^
  </code></pre>
  
  <p>So I am back stuck.</p>
  
  <hr>
  
  <p>Begin program</p>
  
  <p>:::Updated Code:::</p>
  
  <pre><code>    /**
   This program stores a collection of a product and its variables in a java array
   It will sort and display the information with a total
   */
  
  // Import statements go here
  import java.util.Scanner;// Import and use scanner
  import java.util.Arrays;
  
  
  public class InventoryPart2 {
  
      /**
       * @param args the command line arguments
       */
  
      public static void main(String[] args) {// begin main
  
          // Define your array of product objects and index here
          final int ARRAY_LENGTH = 5;// declare constant 
          final int version = 2;// declare int version number   
  
          // Create instance of Scanner class
          Scanner input = new Scanner( System.in );// new Scanner for CL input
          // Set counter to loop x times to populate your array of product objects
          int counter = 0;
  
          // Initialize your product array with the number of objects to populate it with
          Product productArray[] = new Product[ARRAY_LENGTH];// create array Product of class Product 
  
          // Welcome message
          System.out.printf( "\n%s%d\n" , 
          "Welcome to the Productentory Program v.", version );
  
          // Construct default values for Product
          productArray[0] = new Product("EThe Invisible Man", 0, 8.50);
          productArray[1] = new Product("DThe Matrix", 1, 17.99);
          productArray[2] = new Product("CSe7en", 7, 12.99);
          productArray[3] = new Product("BOceans Eleven", 11, 9.99);
          productArray[4] = new Product("AHitch Hikers Guide to the Galaxy", 42, 18.69);
  
          /*// Loop as many times as your counter variable
          {
  
              // Instantiate a product object
  
              // Prompt for product name and call the set method on your product object
  
              // Prompt for item number and call the set method on your product object
  
              // Prompt for units in stock and call the set method on your product object
  
              // Prompt for unit price and call the set method on your product object
  
              // store product object in array element
  
              //Destroy product object reference
              product = null;
  
              // Flush the buffer
              input.nextLine();
  
          }*/
  
          // Sort product array by product name using Comparator implementation class
          sortProductArray();
  
          // Print sorted array
          for ( Product product : productArray[] ) {
          if ( counter == 0 )
              System.out.printf( "\n%s\n", "Sorted Inventory of DVD movies");
          System.out.printf( "\n\n%s%d\n%s%s\n%s%d\n%s%,.2f\n%s%,.2f\n",
          "Item Number:      ",counter,
          "DVD Title:        ",productArray[counter].getProductTitle(),
          "Copies in stock:  ",productArray[counter].getUnitsInStock(),
          "Price each disk:  $",productArray[counter].getUnitPrice(),
          "Value of disks:  $",productArray[counter].calcInventoryValue());//End print
          counter++;  
          if ( counter == productArray.length)// on last counter of loop print total
              System.out.printf( "\n%s%,.2f\n\n\n",
              "Collection Value: $",calcTotalInventoryValue());
          }
  
          // Calculate total Inventory value
  
      }
  
  
   // method to calculate the total Inventory value
   private static double calcTotalInventoryValue()
   {
  
      double inventoryValue = 0;
  
      // Iterate array of product objects and calculate total value of entire Inventory
      for ( Product product : productArray ) {
          // accumulate inventory value from each product object in array
          inventoryValue += productArray.calcInventoryValue();
      }
  
       return totalInventoryValue;
  
   } // end method calcInventoryValue
  
  
   // method to sort product array
   private static void sortProductArray()
   {
  
      Arrays.sort( productArray, new ProductComparator() );
  
  
  
   } // end method calcInventoryValue
  
  
  }
  </code></pre>