How to make the array sort by Product[counter].getProductTitle()?
<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="http://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>
