Question: Where does "productArray" come from in these:
for ( Product product : productArray )
&
Arrays.sort( productArray, new ProductComparator() );
Question: What am I doing wrong? How do I make this sort?
Related Post from Yesterday
EDIT
:::EDIT::: Ok I took your advice here about
Product productArray[] = new Product[ARRAY_LENGTH]
Now it is broke here
/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();
^
And if I do it like
for ( Product product : productArray[] ) {
I get
/tmp/jc_23524/InventoryPart2.java:69: '.class' expected
for ( Product product : productArray[] ) {
^
So I am back stuck.
Begin program
:::Updated 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
}