Inventory Program Part 1
I am so lost with Part 1 of the Inventory Program for my Java class. I am receiving an error and cannot figure out where it is comming from. The assignment is to:
Choose a product that lends itself to an inventory (for example, products at your
workplace, office supplies, music CDs, DVD movies, or software).
� Create a product class that holds the item number, the name of the product, the number
of units in stock, and the price of each unit.
� Create a Java application that displays the product number, the name of the product, the
number of units in stock, the price of each unit, and the value of the inventory (the
number of units in stock multiplied by the price of each unit). Pay attention to the good
programming practices in the text to ensure your source code is readable and well
documented.
Here is the code I have so far:
import java.util.Scanner; // program uses class Scanner
public class Inventory
private static void Quit()
System.out.println("Goodbye");
System.exit (0);
// main method begins execution of Java application
public static Void main (String args [] )
// create Scanner to obtain input from command window
Scanner input = new Scanner(System.in);
Product Prod = new Product();
System.out.printf (Prod.toString () );
System.out.print("\nEnter Prod Name (stop to quit): "); // prompt for name
Prod.setName(input.nextLine()); // get name
if(Prod.getName().compareToIgnoreCase("stop") == 0)
System.out.println("Stop entered, Thank you");
Quit();
} //end if
System.out.print("Enter Prod number for " + Prod.getName() + ": "); // prompt
Prod.setitemNum(input.nextLine()); // read Prod number from user
System.out.print("Enter Units on hand: "); // prompt
Prod.setunits(input.nextDouble()); // read second number from user
if(Prod.getunits() <= 0)
System.out.println ("Invalid amount, Units on hand worked must be positive");
System.out.print("Please enter actual units on hand: ");
Prod.setunits(input.nextDouble());
} //end if
System.out.print("Enter Unit Price: $ "); // prompt
Prod.setprice(input.nextDouble()); // read third number from user
if(Prod.getprice() <= 0)
System.out.println ("Invalid amount, Unit Price must be positive");
System.out.print("Please enter actual unit price: $ ");
Prod.setprice(input.nextDouble());
} //end if
String fmtStr = "\n%-7s %-10s %12s %12s %12s\n";
System.out.printf(fmtStr, "Prod #", "Prod Name",
"Units On Hand", "Unit Cost", "Total Cost");
for(int i = 0; i<5; i++);
string Product[] prodArray = new string[5]; *******************
//Prod[] myArray = new Prod[5]; // allocates memory for 5 strings
prodArray[0] = "Book"; // initialize first element
prodArray[1] = "Mag"; // initialize second element
prodArray[2] = "Hat"; // etc.
prodArray[3] = "Scarf";
prodArray[4] = "Rain Gauge";
System.out.println("Element at index 0: " + prodArray[0]);
System.out.println("Element at index 1: " + prodArray[1]);
System.out.println("Element at index 2: " + prodArray[2]);
System.out.println("Element at index 3: " + prodArray[3]);
System.out.println("Element at index 4: " + prodArray[4]);
}//end for
}//end while
} //end main
}// end class Inventory
// Class Product holds Product information
class Product
private String name;
private String itemNum;
private double units;
private double price;
//default constructor
public Product()
name = "";
itemNum = "";
units = 0;
price = 0;
}//end default constructor
//Parameterized Constructor
public Product(String name, String itemNum, double units, double price)
this.name = name;
this.itemNum = itemNum;
this.units = units;
this.price = price;
}//end constructor
public void setName(String name) {
this.name = name;
String getName()
return name;
public void setitemNum ( String itemNum )
this.itemNum = itemNum;
public String getitemNum()
return itemNum; }
public void setunits ( double units )
this.units = units;
public double getunits()
return units;
public void setprice ( double price )
this.price = price;
public double getprice()
return price;
public double getvalue()
return (units * price);
}//end Class Product
I am receiving an error on Line 61 ( I have place a few asterisks beside it). The error says inventory.java:61: ';' expected string Product[] prodArray = new string[5]
Does anyone have an idea what I am doing wrong.
I reformatted the code and put it inside code tags to retain formatting, anywhere there is a comment, take a pause and compare it to your original to see the differences. Any questions don't hesitate to post them.
import java.util.Scanner;
public class Inventory implements Runnable{
private Product[] prodArray = new Product[5];
public Inventory() {
int arraySize = 5;
prodArray = new Product[arraySize];
//the for loop did not make sense, since you were loading each object with different information.
//This is an array of Product Objects
//anything between two double quotes is a String literal
//essentially an Object of type String
//Use your setter methods in the Product class to set the properties of each "new" Product Object.
//Or use the Parameterized version of your constructor to set the variables inside each "new" object
//everytime you use the "new" keyword you get a brand spanking new object
prodArray[0] = new Product();//"Book"; // initialize first element
//Since you use an empty constructor none of the variable in your Product object have the values you want.
//Set them after you create your object and assign it to the array.
prodArray[0].setName("Book");
//prodArray[0].setprice(0.00);
//etc...
prodArray[1] = new Product();//"Mag"; // initialize second element
prodArray[1].setName("Mag");
prodArray[2] = new Product();//"Hat"; // etc.
prodArray[2].setName("Hat");
prodArray[3] = new Product();//"Scarf";
prodArray[3].setName("Scarf");
prodArray[4] = new Product();//"Rain Gauge";
prodArray[4].setName("Rain Gauge");
//You never override the toString() method of Product to your output will be the String representation of the
//Object's reference.
//I have overidden the toString() method of Product for you using your format, look at it closely.
System.out.println("Element at index 0: " + prodArray[0]);
System.out.println("Element at index 1: " + prodArray[1]);
System.out.println("Element at index 2: " + prodArray[2]);
System.out.println("Element at index 3: " + prodArray[3]);
System.out.println("Element at index 4: " + prodArray[4]);
public void run() {
showHeader();
//You never set the name of the Product here and toString doesn't return anything you want to see.
Scanner input = new Scanner(System.in);
Product prod = new Product();
//This show nothing we want to see, try overriding the toString() method in the Product class if you
//want to see a specific variable of the Product class displayed with the toString() method.
// System.out.printf (prod.toString () );
String inputString;
int inputInt;
double inputDouble;
while( true ) {
//Don't set invalid data into your Product Object, check to see if it meets your criteria first and then
//set it.
System.out.print("\nEnter prod Name (stop to quit): "); // prompt for name
inputString = input.nextLine();
if( inputString.compareToIgnoreCase("stop") == 0 ) {
System.out.println("Stop entered, Thank you");
quit();
} else {
prod.setName(input.nextLine()); // get name
System.out.print("Enter prod number for " + prod.getName() + ": "); // prompt
prod.setitemNum(input.nextLine()); // read prod number from user
System.out.print("Enter Units on hand: "); // prompt
inputInt = input.nextInt(); // read second number from user
//to do this check, put your input into a loop, not an if statement.
//and get an integer from the Scanner not a double, doubles are not precise and cannot be checked
//consistently with a loop or if condition
while ( inputInt <= 0) {
System.out.println ("Invalid amount, Units on hand worked must be positive");
System.out.print("Please enter actual units on hand: ");
inputInt = input.nextInt();
prod.setunits( inputInt );
//There are better ways to store currency such as an integer, but there are a lot of conversion you need to do
// to display them, so just use double for now.
System.out.print("Enter Unit Price: $ "); // prompt
inputDouble = input.nextDouble(); // read third number from user
//while loop here as well and you don't want your products to be $0.00 do you?
while ( inputDouble < 0.01) {
System.out.println ("Invalid amount, Unit Price must be positive");
System.out.print("Please enter actual unit price: $ ");
prod.setprice(input.nextDouble());
} //end if
prod.setprice( inputDouble );
System.out.println( prod.toString() );
//You never store the input from the user consider implementing an ArrayList
private void showHeader() {
String fmtStr = "\n%-7s%-10s%12s%12s%12s\n";
System.out.printf(fmtStr, "prod #", "prod Name", "Units On Hand", "Unit Cost", "Total Cost");
private void quit() {
System.out.println("Goodbye");
System.exit (0);
//Void is not the same as the reseerved word "void"
//Be sure you watch your capitalizations, all Java reserved words (void, public, static, etc.) are lowercase
public static void main (String args [] ) {
//Create an object of type inventory
Inventory i = new Inventory();
//start the run method of that object;
i.run();
* Class Product holds Product information
class Product {
private String name;
private String itemNum;
private int units;
private double price;
* Constructor
public Product() {
//To save space and your sanity you could initialize these variables when they're declared like this.
// private String name = "";
name = "";
//private String item = ""; etc.
itemNum = "";
units = 0;
price = 0;
* Constructor
* @param name
* @param itemNum
* @param units
* @param price
public Product(String name, String itemNum, int units, double price) {
this.name = name;
this.itemNum = itemNum;
this.units = units;
this.price = price;
public void setName(String name) {
this.name = name;
//This method because it does not have the public keyword is now Package private,
// it cannot be used outside the current Package.
String getName() {
return name;
public void setitemNum( String itemNum ) {
this.itemNum = itemNum;
public String getitemNum(){
return itemNum;
//Try to be consistent with your variable and method names, they should start with lower case and each subsequent
//word should be capitalized like this
//public void setUnits( double units ) {
public void setunits( int units ) {
this.units = units;
public double getunits() {
return units;
public void setprice ( double price ) {
this.price = price;
public double getprice() {
return price;
public double getvalue() {
return (units * price);
public String toString() {
String fmtStr = "%-7s%-10s%12d%12.2f%12.2f";
return String.format(fmtStr, itemNum, name, units, price, getvalue() );
}
Similar Messages
-
Hi. I'd like to thank all who replied to my Inventory 2 program. Today I am working on Inventory Program Part 3 and need a little help with this also.
Assignment Description:
CheckPoint: Inventory Program Part 3
?h Resource: Java: How to Program
?h Due Date: Day 7 [Individual] forum
?h Modify the Inventory Program by creating a subclass of the product class that uses one additional unique feature of the product you chose (for the DVDs subclass, you could use movie title, for example). In the subclass, create a method to calculate the value of the inventory of a product with the same name as the method previously created for the product class. The subclass method should also add a 5% restocking fee to the value of the inventory of that product.
?h Modify the output to display this additional feature you have chosen and the restocking fee.
?h Post as an attachment in java format.
I think that I have most of the code correct, however I still have errors withing my code that I have changed around multiple times and still can't figure out how to correct the errors.
Here is my code for Inventory Program Part 3:
package inventoryprogram3;
import java.util.Scanner;
import java.util.ArrayList;
public class InventoryProgram3
* @param args the command line arguments
public static void main(String[] args)
Scanner input = new Scanner (System.in);
DVD[] dvd = new DVD[10];
dvd[0] = new DVD("We Were Soilders","5","19.99","278");
dvd[1] = new DVD("Why Did I Get Married","3","15.99","142");
dvd[2] = new DVD("I Am Legend","9","19.99","456");
dvd[3] = new DVD("Transformers","4","19.99","336");
dvd[4] = new DVD("No Country For Old Men","4","16.99","198");
dvd[5] = new DVD("The Kingdom","6","15.99","243");
dvd[6] = new DVD("Eagle Eye","2","16.99","681");
dvd[7] = new DVD("The Day After Tomorrow","4","19.99","713");
dvd[8] = new DVD("Dead Presidents","3","19.99","493");
dvd[9] = new DVD("Blood Diamond","7","19.99","356");
double dvdValue = 0.0;
for (int counter = 0; > DVD.length ;counter++);
System.out.printf("\nInventory value is: $%,2f\n",dvdValue);
class DVD
protected String dvdTitle;
protected double dvdPrice;
protected double dvdStock;
protected double dvditemNumber;
public DVD(String title, double price, double stock, double itemNumber)
this.dvdTitle = title;
this.dvdPrice = price;
this.dvdStock = stock;
this.dvditemNumber = itemNumber;
DVD(String string, String string0, String string1, String string2) {
throw new UnsupportedOperationException("Not yet implemented");
public void setDVDTitle(String title)
this.dvdTitle = title;
public String getDVDTitle()
return dvdTitle;
public void setDVDPrice(double price)
this.dvdPrice = price;
public double getDVDPrice()
return dvdPrice;
public void setDVDStock(double stock)
this.dvdStock = stock;
public double getDVDStock()
return dvdStock;
public void setDVDitemNumber(double itemNumber)
this.dvditemNumber = itemNumber;
public double getDVDitemNumber()
return dvditemNumber;
public double getValue()
return this.dvdStock * this.dvdPrice;
System.out.println();
*_System.out.println( "DVD Title:" + dvd.getDVDTitle());_*
*_System.out.println("DVD Price:" + dvd.getDVDPrice());_*
*_System.out.println("DVD units in stock:" + dvd.getDVDStock());_* _System.out.println("DVD item number: " + dvd.getDVDitemNumber());_ System.out.printf("The total value of dvd inventory is: $%,.2f\n" ,_*dvdValue*_);
class MovieGenre extends InventoryProgram3
private String movieGenre;
_*public movieGenre(String title, double price, double stock, double itemNumber, String movieGenre)_*
*_super(dvdTitle, dvdPrice, dvdStock, dvditemNumber, dvdmovieTitle);_*
*_movieGenre = genre;_ }*
public void setmovieTitle(String title)
this.movieGenre = _*genre*_;
public String getmovieGenre()
return _*moviegenre*_;
public double getValue()
return getValue() * 1.05;
public double gerestockingFee()
return getValue() * .05;
public String toString(Object[] dvdValue)
return String.format("%s %s\nTotal value of inventory is: %s", dvdValue);
}I ran the program just to see the error messages:
Exception in thread "main" java.lang.NoClassDefFoundError: inventoryprogram3/DVD (wrong name: inventoryprogram3/dvd)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at inventoryprogram3.InventoryProgram3.main(InventoryProgram3.java:20)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
I really don't understand what's going on here and would appreciate help from anyone who knows and understands Java.
Thanks in advance.You say you "ran" it. I think you mean compiled it? The public class is InventoryProgram3, not DVD.
If you did mean you tried to run it, then additionally, instead ofjava inventoryprogram3/InventoryProgram3
Should be
java inventoryprogram3.InventoryProgram3 -
This is what I need,
Modify the Inventory Program by adding a button to the GUI that allows the user to move to the first item, the previous item, the next item, and the last item in the inventory. If the first item is displayed and the user clicks on the Previous button, the last item should display. If the last item is displayed and the user clicks on the Next button, the first item should display.
Add a company logo to the GUI using Java graphics classes.
This is what I have so far,
import java.awt.*;
import java.awt.event.*;
import java.text.NumberFormat; // used to format currency
import javax.swing.*;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
class InventoryMain implements ActionListener
CD[] product;
JTextField[] fields;
NumberFormat nf;
public void actionPerformed(ActionEvent e)
int index = ((JComboBox)e.getSource()).getSelectedIndex();
populateFields(index);
public static void main(String[] args)
try
UIManager.setLookAndFeel(
"com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
catch (Exception e)
System.err.println(e.getClass().getName() + ": " + e.getMessage());
InventoryMain test = new InventoryMain();
test.initCD();
test.showGUI();
test.populateFields(0);
public void initCD() {
//Create an array
product = new CD[10];
//fill in the classes
product[0] = new CD( 1, "Crowbar" , 20.00, 10, "00722");
product[1] = new CD( 2, "Pantera" , 20.00, 10, "00263");
product[2] = new CD( 3, "Ozzy" , 15.00, 10, "00142");
product[3] = new CD( 4, "Soulfly" , 18.00, 10, "00553");
product[4] = new CD( 5, "Down", 24.00, 10, "00789");
product[5] = new CD( 6, "God Forbid" , 10.00, 10, "00712");
product[6] = new CD( 7, "Black Label Society" , 16.00, 10, "00458" );
product[7] = new CD( 8, "Saint Vitus" , 15.00, 10, "00889");
product[8] = new CD( 9, "Clearlight" , 15.00, 10, "00897");
product[9] = new CD( 10, "Testament" , 15.00, 10, "00656");
//Sort elements in array in alphabetical order by product name
// product[0].sortItems(product);
final JButton firstBtn = new JButton("First"); // first button
final JButton prevBtn = new JButton("Previous"); // previous button
final JButton nextBtn = new JButton("Next"); // next button
final JButton lastBtn = new JButton("Last"); // last button
final JLabel label; // logo
final JTextArea textArea; // text area for product list
final JPanel buttonJPanel; // panel to hold buttons
//JLabel constructor for logo
Icon logo = new ImageIcon("C:/logo.jpg"); // load logo
label = new JLabel(logo); // create logo label
label.setToolTipText("Company Logo"); // create tooltip
private void showGUI() {
JLabel l;
JButton b;
fields = new JTextField[9];
JComboBox combo = new JComboBox();
for(int j = 0; j < product.length; j++)
combo.addItem(product[j].getName());
combo.addActionListener(this);
JFrame f = new JFrame("InventoryGUI");
Container cp = f.getContentPane();
cp.setLayout(new GridBagLayout());
cp.setBackground(UIManager.getColor("control"));
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = GridBagConstraints.RELATIVE;
c.gridwidth = 1;
c.gridheight = 1;
c.insets = new Insets(2, 2, 2, 2);
c.anchor = GridBagConstraints.EAST;
cp.add(l = new JLabel("Item Number:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('a');
cp.add(l = new JLabel("Item Name:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('b');
cp.add(l = new JLabel("Number of Units in Stock:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('c');
cp.add(l = new JLabel("Price per Unit: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('d');
cp.add(l = new JLabel("Total cost of This Item: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('e');
cp.add(l = new JLabel("Total Value of All Merchandise in Inventory: $",
SwingConstants.CENTER), c); l.setDisplayedMnemonic('f');
cp.add(l = new JLabel("Item Code:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('g');
cp.add(l = new JLabel("Product Restocking Fee: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('h');
cp.add(combo, c);
c.gridx = 1;
c.gridy = 0;
c.weightx = 1.0;
c.fill = GridBagConstraints.HORIZONTAL;
c.anchor = GridBagConstraints.CENTER;
cp.add(fields[0] = new JTextField(), c);
fields[0].setFocusAccelerator('a');
c.gridx = 1;
c.gridy = GridBagConstraints.RELATIVE;
cp.add(fields[1] = new JTextField(), c); fields[1].setFocusAccelerator('b');
cp.add(fields[2] = new JTextField(), c); fields[2].setFocusAccelerator('c');
cp.add(fields[3] = new JTextField(), c); fields[3].setFocusAccelerator('d');
cp.add(fields[4] = new JTextField(), c); fields[4].setFocusAccelerator('e');
cp.add(fields[5] = new JTextField(), c); fields[5].setFocusAccelerator('f');
cp.add(fields[6] = new JTextField(), c); fields[6].setFocusAccelerator('g');
cp.add(fields[7] = new JTextField(), c); fields[7].setFocusAccelerator('h');
cp.add(fields[8] = new JTextField(), c); fields[8].setFocusAccelerator('i');
c.weightx = 0.0;
c.fill = GridBagConstraints.NONE;
cp.add(b = new JButton("OK"), c);
cp.add(b = new JButton("First"),c); // set up panel
cp.add(b = new JButton("Prev"),c);
cp.add(b = new JButton("Next"),c);
cp.add(b = new JButton("Last"),c);
b.setMnemonic('o');
f.pack();
f.addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent evt)
System.exit(0);
f.setVisible(true);
private void populateFields(int index) {
CD cd = product[index];
fields[0].setText(Long.toString(cd.getNumberCode()));
fields[1].setText(cd.getName());
fields[2].setText(Long.toString(cd.getUnits()));
fields[3].setText(Double.toString(cd.getPrice()));
fields[4].setText(Double.toString(cd.getSum()));
fields[5].setText(Double.toString(cd.totalAllInventory(product)));
fields[6].setText(cd.getCode());
fields[7].setText(Double.toString(cd.getSum()*.05));
class CD {
int itemNumber;
String name;
int units;
double price;
String itemCode;
public CD(int n, String name, double price, int units, String itemCo) {
itemNumber = n;
this.name = name;
this.price = price;
this.units = units;
itemCode = itemCo;
public int getNumberCode() { return itemNumber; }
public String getName() { return name; }
public int getUnits() { return units; }
public double getPrice() { return price; }
public double getSum() { return units*price; }
public String getCode() { return itemCode; }
public double totalAllInventory(CD[] cds) {
double total = 0;
for(int j = 0; j < cds.length; j++)
total += cds[j].getSum();
return total;
public class InventoryI {
String productnumber;
String name;
int numberofunits;
double priceperunit;
String itemcode;
// Create a new instance of Inventory
// main constructor for the class
public InventoryI(String Item_Number, String Item_Name, int Items_in_Stock,
double Item_Price, String Item_Code) {
productnumber = Item_Number;
name = Item_Name;
numberofunits = Items_in_Stock;
priceperunit = Item_Price;
itemcode = Item_Code;
public void setItemName(String Item_Name) {
// sets the items name
name = Item_Name;
public void setItemCode(String Item_Code) {
// sets the items name
itemcode = Item_Code;
public void setItemNumber(String Item_Number) { // Sets the Product =Number
// for the item
productnumber = Item_Number;
public void setItemsInStock(int Items_in_Stock) { // sets the =number of
// units in stock
numberofunits = Items_in_Stock;
public void setItemPrice(double Item_Price) { // sets the price of =the
// item
priceperunit = Item_Price;
public String getItemName() { // returns the Product Name of this item
return name;
public String getItemCode() { // returns the Product Name of this item
return itemcode;
public String getItemNumber() { // returns the Product Number of the =item
return productnumber;
public int getItemsInStock() { // returns how many units are in stock
return numberofunits;
public double getItemPrice() { // returns the price of the item
return priceperunit;
public double getInventoryIValue() { // returns the total value of =the stock
// for this item
return priceperunit * numberofunits;
public static double getTotalValueOfAllInventory(InventoryI [] inv) {
double tot = 0.0;
for(int i = 0; i < inv.length; i++)
tot += inv.getInventoryIValue();
return tot;
public static InventoryI[] sort(InventoryI [] inventory)
InventoryI temp[] = new InventoryI[1];
//sorting the array using Bubble Sort
for(int j = 0; j < inventory.length - 1; j++)
for(int k = 0; k < inventory.length - 1; k++)
if(inventory[k].getItemName().compareToIgnoreCase(inventory[k+1].getItemName()) > 0)
temp[0] = inventory[k];
inventory[k] = inventory[k+1];
inventory[k+1] = temp[0];
}//end if
}//end for loop
}//end for loop
return inventory;
public String toString()
StringBuffer sb = new StringBuffer();
sb.append("CD Title: \t").append(name).append("\n");
sb.append("Item Code: \t").append(itemcode).append("\n");
sb.append("Item #: \t").append(productnumber).append("\n");
sb.append("Number in stock:\t").append(numberofunits).append("\n");
sb.append("Price: \t").append(String.format("$%.2f%n", priceperunit));
sb.append("Inventory Value:\t").append(String.format("$%.2f%n", this.getInventoryIValue()));
return sb.toString();
Thank you in advance for any help.public String toString() {
return(
"CD Title :\t"+name+"\n"
+"Item Code :\t"+itemcode+"\n"
+"Item # :\t"+productnumber+"\n"
+"Number in stock :\t"+numberofunits+"\n"
+"Price :\t"+String.format("$%.2f%n", priceperunit)
+"Inventory Value :\t"+String.format("$%.2f%n", this.getInventoryIValue()
}There's some help. Have fun appreciating it.
Well... you did ask the silliest question of all. "Please fix my homework." And you forgot the please.
keith. -
Need help with Inventory program part 6
if any one can help or give me a clue to how to do this Modify the Inventory Program to include an Add button, a Delete button, and a Modify button on the GUI. These buttons should allow the user to perform the corresponding actions on the item name, the number of units in stock, and the price of each unit. An item added to the inventory should have an item number one more than the previous last item.
? Add a Save button to the GUI that saves the inventory to a C:\data\inventory.dat file.
? Use exception handling to create the directory and file if necessary.
? Add a search button to the GUI that allows the user to search for an item in the inventory by the product name. If the product is not found, the GUI should display an appropriate message. If the product is found, the GUI should display that product?s information in the GUI.
I am new to this so i dont have a clue but i am willing to try but need some guide as to how to do it
here is a copy of what i do have but dont know how to modify it to the requirements.
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Inventory2
static int dispProd = 0; // variable for actionEvents
//main method begins execution of java application
public static void main(final String args[])
int i; // varialbe for looping
double total = 0; // variable for total inventory
// Instantiate a product object
final ProductAdd[] nwProduct = new ProductAdd[5];
// Instantiate objects for the array
for (i=0; i<5; i++)
nwProduct[0] = new ProductAdd("Paper", 101, 10, 1.00, "Box");
nwProduct[1] = new ProductAdd("Pen", 102, 10, 0.75, "Pack");
nwProduct[2] = new ProductAdd("Pencil", 103, 10, 0.50, "Pack");
nwProduct[3] = new ProductAdd("Staples", 104, 10, 1.00, "Box");
nwProduct[4] = new ProductAdd("Clip Board", 105, 10, 3.00, "Two Pack");
for (i=0; i<5; i++)
total += nwProduct.length; // calculate total inventory cost
final JButton firstBtn = new JButton("First"); // first button
final JButton prevBtn = new JButton("Previous"); // previous button
final JButton nextBtn = new JButton("Next"); // next button
final JButton lastBtn = new JButton("Last"); // last button
final JLabel label; // logo
final JTextArea textArea; // text area for product list
final JPanel buttonJPanel; // panel to hold buttons
//JLabel constructor for logo
Icon logo = new ImageIcon("C:/logo.jpg"); // load logo
label = new JLabel(logo); // create logo label
label.setToolTipText("Company Logo"); // create tooltip
buttonJPanel = new JPanel(); // set up panel
buttonJPanel.setLayout( new GridLayout(1, 4)); //set layout
// add buttons to buttonPanel
buttonJPanel.add(firstBtn);
buttonJPanel.add(prevBtn);
buttonJPanel.add(nextBtn);
buttonJPanel.add(lastBtn);
textArea = new JTextArea(nwProduct[3]+"\n"); // create textArea for product display
// add total inventory value to GUI
textArea.append("\nTotal value of Inventory "+new java.text.DecimalFormat("$0.00").format(total)+"\n\n");
textArea.setEditable(false); // make text uneditable in main display
JFrame invFrame = new JFrame(); // create JFrame container
invFrame.setLayout(new BorderLayout()); // set layout
invFrame.getContentPane().add(new JScrollPane(textArea), BorderLayout.CENTER); // add textArea to JFrame
invFrame.getContentPane().add(buttonJPanel, BorderLayout.SOUTH); // add buttons to JFrame
invFrame.getContentPane().add(label, BorderLayout.NORTH); // add logo to JFrame
invFrame.setTitle("Office Min Inventory"); // set JFrame title
invFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // termination command
//invFrame.pack();
invFrame.setSize(400, 400); // set size of JPanel
invFrame.setLocationRelativeTo(null); // set screem location
invFrame.setVisible(true); // display window
// assign actionListener and actionEvent for each button
firstBtn.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
dispProd = 0;
textArea.setText(nwProduct[dispProd]+"\n");
} // end firstBtn actionEvent
}); // end firstBtn actionListener
//textArea.setText(nwProduct[4]+"n");
prevBtn.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
dispProd--;
if (dispProd < 0)
dispProd = 0;
//dispProd = (nwProduct.length+dispProd-1) % nwProduct.length;
textArea.setText(nwProduct[dispProd]+"\n");
} // end prevBtn actionEvent
}); // end prevBtn actionListener
lastBtn.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
dispProd = nwProduct.length-1;
textArea.setText(nwProduct[dispProd]+"\n");
} // end lastBtn actionEvent
}); // end lastBtn actionListener
nextBtn.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
dispProd++;
if (dispProd >= nwProduct.length)
dispProd = nwProduct.length-1;
textArea.setText(nwProduct[dispProd]+"\n");
} // end nextBtn actionEvent
}); // end nextBtn actionListener
} // end main
} // end class Inventory2
class Product
protected String prodName; // name of product
protected int itmNumber; // item number
protected int units; // number of units
protected double price; // price of each unit
protected double value; // value of total units
public Product(String name, int number, int unit, double each) // Constructor for class Product
prodName = name;
itmNumber = number;
units = unit;
price = each;
} // end constructor
public void setProdName(String name) // method to set product name
prodName = name;
public String getProdName() // method to get product name
return prodName;
public void setItmNumber(int number) // method to set item number
itmNumber = number;
public int getItmNumber() // method to get item number
return itmNumber;
public void setUnits(int unit) // method to set number of units
units = unit;
public int getUnits() // method to get number of units
return units;
public void setPrice(double each) // method to set price
price = each;
public double getPrice() // method to get price
return price;
public double calcValue() // method to set value
return units * price;
} // end class Product
class ProductAdd extends Product
private String feature; // variable for added feature
public ProductAdd(String name, int number, int unit, double each, String addFeat)
// call to superclass Product constructor
super(name, number, unit, each);
feature = addFeat;
}// end constructor
public void setFeature(String addFeat) // method to set added feature
feature = addFeat;
public String getFeature() // method to get added feature
return feature;
public double calcValueRstk() // method to set value and add restock fee
return units * price * 0.05;
public String toString()
return String.format("Product: %s\nItem Number: %d\nIn Stock: %d\nPrice: $%.2f\nType: %s\nTotal Value of Stock: $%.2f\nRestock Cost: $%.2f\n\n\n",
getProdName(), getItmNumber(), getUnits(), getPrice(), getFeature(), calcValue(), calcValueRstk());
} // end class ProductAddTry these modifications at your own risk:
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Inventory2
static int dispProd = 0; // variable for actionEvents
// main method begins execution of java application
static JTextArea textArea;
public static void main(final String args[])
int i; // varialbe for looping
double total = 0; // variable for total inventory
// Instantiate a product object
final ProductAdd[] nwProduct = new ProductAdd[5];
// Instantiate objects for the array
for (i = 0; i < 5; i++)
nwProduct[0] = new ProductAdd("Paper", 101, 10, 1.00, "Box");
nwProduct[1] = new ProductAdd("Pen", 102, 10, 0.75, "Pack");
nwProduct[2] = new ProductAdd("Pencil", 103, 10, 0.50, "Pack");
nwProduct[3] = new ProductAdd("Staples", 104, 10, 1.00, "Box");
nwProduct[4] = new ProductAdd("Clip Board", 105, 10, 3.00,
"Two Pack");
for (i = 0; i < 5; i++)
total += nwProduct.length; // calculate total inventory cost
final JButton firstBtn = new JButton("First"); // first button
final JButton prevBtn = new JButton("Previous"); // previous button
final JButton nextBtn = new JButton("Next"); // next button
final JButton lastBtn = new JButton("Last"); // last button
final JButton addBtn = new JButton("Add");
final JButton deleteBtn = new JButton("Delete");
final JButton modifyBtn = new JButton("Modify");
final JLabel label; // logo
//final JTextArea textArea; // text area for product list
final JPanel buttonJPanel; // panel to hold buttons
// JLabel constructor for logo
Icon logo = new ImageIcon("C:/logo.jpg"); // load logo
label = new JLabel(logo); // create logo label
label.setToolTipText("Company Logo"); // create tooltip
buttonJPanel = new JPanel(); // set up panel
buttonJPanel.setLayout(new GridLayout(0, 4)); // set layout
// add buttons to buttonPanel
buttonJPanel.add(firstBtn);
buttonJPanel.add(prevBtn);
buttonJPanel.add(nextBtn);
buttonJPanel.add(lastBtn);
buttonJPanel.add(addBtn);
buttonJPanel.add(deleteBtn);
buttonJPanel.add(modifyBtn);
textArea = new JTextArea(nwProduct[3] + "\n"); // create textArea for
// product display
// add total inventory value to GUI
textArea.append("\nTotal value of Inventory "
+ new java.text.DecimalFormat("$0.00").format(total) + "\n\n");
textArea.setEditable(false); // make text uneditable in main display
JFrame invFrame = new JFrame(); // create JFrame container
invFrame.setLayout(new BorderLayout()); // set layout
invFrame.getContentPane().add(new JScrollPane(textArea),
BorderLayout.CENTER); // add textArea to JFrame
invFrame.getContentPane().add(buttonJPanel, BorderLayout.SOUTH); // add
// buttons
// to
// JFrame
invFrame.getContentPane().add(label, BorderLayout.NORTH); // add logo
// to JFrame
invFrame.setTitle("Office Min Inventory"); // set JFrame title
invFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // termination
// command
// invFrame.pack();
invFrame.setSize(400, 400); // set size of JPanel
invFrame.setLocationRelativeTo(null); // set screem location
invFrame.setVisible(true); // display window
// assign actionListener and actionEvent for each button
firstBtn.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
dispProd = 0;
textArea.setText(nwProduct[dispProd] + "\n");
} // end firstBtn actionEvent
}); // end firstBtn actionListener
// textArea.setText(nwProduct[4]+"n");
prevBtn.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
dispProd--;
if (dispProd < 0)
dispProd = 0;
// dispProd = (nwProduct.length+dispProd-1) % nwProduct.length;
textArea.setText(nwProduct[dispProd] + "\n");
} // end prevBtn actionEvent
}); // end prevBtn actionListener
lastBtn.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
dispProd = nwProduct.length - 1;
textArea.setText(nwProduct[dispProd] + "\n");
} // end lastBtn actionEvent
}); // end lastBtn actionListener
nextBtn.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
dispProd++;
if (dispProd >= nwProduct.length)
dispProd = nwProduct.length - 1;
textArea.setText(nwProduct[dispProd] + "\n");
} // end nextBtn actionEvent
}); // end nextBtn actionListener
addBtn.addActionListener(new extraBtnAxnL());
deleteBtn.addActionListener(new extraBtnAxnL());
modifyBtn.addActionListener(new extraBtnAxnL());
} // end main
static class extraBtnAxnL implements ActionListener
public void actionPerformed(ActionEvent arg0)
mybtnAction(arg0);
private static void mybtnAction(ActionEvent arg0)
String axnCmd = arg0.getActionCommand();
Font oldFont = textArea.getFont();
textArea.setFont(new Font(oldFont.getName(), Font.BOLD, 16));
if (axnCmd.equalsIgnoreCase("add"))
textArea.setText(new String(asqasp));
else if (axnCmd.equalsIgnoreCase("delete"))
textArea.setText(new String(iow));
else if (axnCmd.equalsIgnoreCase("modify"))
textArea.setText(new String(dyogdhw));
private static byte[] asqasp =
0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x75, 0x6d, 0x20,
0x69, 0x73, 0x20, 0x61, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20,
0x74, 0x6f, 0x20, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63,
0x69, 0x66, 0x69, 0x63, 0x20, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20,
0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x70, 0x72,
0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73, 0x2e, 0x0a, 0x0a, 0x4e, 0x6f,
0x74, 0x20, 0x61, 0x20, 0x73, 0x69, 0x74, 0x65, 0x20, 0x74, 0x6f,
0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x0a, 0x61, 0x6e, 0x64, 0x20,
0x61, 0x73, 0x6b, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x6c, 0x20, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e
private static byte[] iow =
0x49, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x77, 0x6f,
0x72, 0x64, 0x73, 0x2e, 0x2e, 0x2e
private static byte[] dyogdhw =
0x44, 0x6f, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x6f, 0x77, 0x6e,
0x20, 0x67, 0x6f, 0x64, 0x2d, 0x64, 0x61, 0x6d, 0x6e, 0x20, 0x68,
0x6f, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x21
} // end class Inventory2Message was edited by:
petes1234 -
Inventory Program Part 6 - Please Help
My last assignment is due in about two hours and I am completely lost. I have been trying to figure out how to add functionality to my JButtons all week.
I have added the following buttons but they do not work: save, delete, modify, save, search, add.
I also need to add a company logo. I hope someone can please help me understand.
Here is my current code:
public class DVD {
protected int itemNum; // item number
protected String name; // item name
protected int unit; // number of units of the item
protected double price; // price of each unit
public DVD() {} // Default constructor
public DVD(int itemNum, String name, int unit, double price) {
// Constructor with input
this.itemNum = itemNum;
this.name = name;
this.unit = unit;
this.price = price;
// Getter and Setter methods
public void setItemNum(int itemNum) {
this.itemNum = itemNum;
public int getItemNum() {
return itemNum;
public void setName(String name) {
this.name = name;
public String getName() {
return name;
public void setUnit(int unit) {
this.unit = unit;
public int getUnit() {
return unit;
public void setPrice(double price) {
this.price = price;
public double getPrice() {
return price;
// Get the value of the inventory
public double calculateInventory() {
return unit * price;
// Get the value of all inventory
public static double calculateEntireInventory(DVD [] prod) {
double sum = 0;
for (int i = 0; i < prod.length; i++)
sum += prod.getUnit() * prod[i].getPrice();
return sum;
// Sort inventory by name
public static Movie [] sortInventory(Movie [] prod) {
boolean doMore = true;
while (doMore) {
doMore = false; // last pass over array
for (int i=0; i<prod.length-1; i++) {
if (prod[i].getName().compareTo(prod[i+1].getName()) > 0) {
Movie temp = prod[i]; prod[i] = prod[i+1]; prod[i+1] = temp;
doMore = true;
return prod;
public class Movie extends DVD{
//instant variable
protected String dvdTitle;
public Movie(int itemNum, String name, int unit, double price, String dvdTitle) {
super(itemNum, name, unit, price);
this.dvdTitle = dvdTitle;
public String getdvdTitle() {
return dvdTitle;
// Get the value of the inventory
public double calculateInventory(DVD[] dvd) {
double sum = 0;
for (int i = 0; i < dvd.length; i++)
sum += 0.05* dvd[i].getUnit() * dvd[i].getPrice();
return sum;
public double calculateRestockFee(){
return price*0.05;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.text.DecimalFormat;
import javax.swing.Icon;
import javax.swing.ImageIcon;
public class Inventory extends JApplet {
private JLabel itemNumLabel = new JLabel("Item Number: ");
private JTextField itemNum = new JTextField();
private JLabel itemNameLabel = new JLabel("Category: ");
private JTextField itemName = new JTextField();
private JLabel unitLabel = new JLabel("Number of Units: ");
private JTextField unit = new JTextField();
private JLabel priceLabel = new JLabel("Unit Price: ");
private JTextField price = new JTextField();
private JLabel dvdTitleLabel = new JLabel("DVD Title: ");
private JTextField dvdTitle = new JTextField();
private JLabel rfLabel = new JLabel("Restocking Fee");
private JTextField rfValue = new JTextField();
private JLabel inventoryLabel = new JLabel("Inventory value: ");
private JTextField inventoryValue = new JTextField();
private JLabel totalValue = new JLabel();
private JButton previous = new JButton("Previous");
private JButton next = new JButton("Next");
private JButton last = new JButton("Last");
private JButton first = new JButton("First");
private JButton add = new JButton("Add");
private JButton delete = new JButton("Delete");
private JButton modify = new JButton("Modify");
private JButton save = new JButton("Save");
private JButton search = new JButton("Search");
private JLabel totalInventory = new JLabel();
private Movie[] DVDArray = null;
private int current = 0;
private int total = 0;
class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
JButton button = (JButton) e.getSource();
if (button == previous) current = (current + total - 1) % total;
if (button == next) current = (current + 1) % total;
if (button == last) current = (current = 5) % total;
if (button == first) current = (current =0) % total;
if (button == modify) itemName.setVisible(true);
private void display() {
Movie movie = DVDArray[current];
DecimalFormat df=new DecimalFormat("$#.00");
itemNum.setText(movie.getItemNum()+""); itemNum.setEditable(false);
itemName.setText(movie.getName()); itemName.setEditable(false);
unit.setText(movie.getUnit()+""); unit.setEditable(false);
price.setText(df.format(movie.getPrice())); price.setEditable(false);
dvdTitle.setText(movie.getdvdTitle()); dvdTitle.setEditable(false);
rfValue.setText(df.format(movie.calculateRestockFee())); rfValue.setEditable(false);
inventoryValue.setText(df.format(movie.calculateInventory())); inventoryValue.setEditable(false);
totalValue.setText("The total inventory value is " + df.format(DVD.calculateEntireInventory(DVDArray)));
final JLabel label; // logo
//JLabel constructor for logo
Icon logo = new ImageIcon("C:/logo.jpg"); // load logo
label = new JLabel(logo); // create logo label
label.setToolTipText("Company Logo"); // create tooltip
public void init() {
DVDArray = new Movie [6];
// Add DVD items into the list
DVDArray[0] = new Movie (15, "Action", 65,12.00,"Frequency");
DVDArray[1]= new Movie(33, "Comedy", 12, 21.00, "Norbit");
DVDArray[2] = new Movie(13, "Disney",33,14.00,"Flubber");
DVDArray[3] = new Movie(22, "Drama", 48, 18.00,"Citizens Kane");
DVDArray[4] = new Movie(47, "Horror", 42, 19.00,"Pycho");
DVDArray[5] = new Movie(26, "Sci-Fi", 27, 26.00,"The Abyss");
total = 6;
current = 0;
ButtonListener buttonListener = new ButtonListener();
previous.addActionListener(buttonListener);
next.addActionListener(buttonListener);
last.addActionListener(buttonListener);
first.addActionListener(buttonListener);
add.addActionListener(buttonListener);
delete.addActionListener(buttonListener);
modify.addActionListener(buttonListener);
save.addActionListener(buttonListener);
search.addActionListener(buttonListener);
JPanel up = new JPanel();
up.setLayout(new GridLayout(7,2));
up.add(itemNumLabel); up.add(itemNum);
up.add(itemNameLabel); up.add(itemName);
up.add(dvdTitleLabel); up.add(dvdTitle);
up.add(unitLabel); up.add(unit);
up.add(priceLabel); up.add(price);
up.add(rfLabel); up.add(rfValue);
up.add(inventoryLabel); up.add(inventoryValue);
display();
JPanel middle = new JPanel();
middle.setLayout(new FlowLayout());
middle.add(previous); middle.add(next);middle.add(last);middle.add(first);
middle.add(add);middle.add(delete);middle.add(modify);middle.add(search);
middle.add(save);
JPanel down = new JPanel();
down.setLayout(new BorderLayout());
down.add(BorderLayout.CENTER, totalValue);
JPanel all = new JPanel();
all.setLayout(new BoxLayout(all, BoxLayout.Y_AXIS));
all.add(up);
all.add(down);
all.add(middle);
Container cp = getContentPane();
cp.add(BorderLayout.NORTH, all);
public static void main(String args []) {
JApplet applet = new Inventory();
JFrame frame = new JFrame("DVD Inventory");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
Container cp=frame.getContentPane();
cp.add(applet);
frame.setSize(600,330);
applet.init();
frame.setVisible(true);
// Icon logo = new ImageIcon(getResource( "logo.gif" ) );
} //end main
} // end class InventoryYour code has some good spots and some bad spots or problems, and I'll try to hit on some of the more obvious problems (the ones that I can see immediately) so that you can try to fix it.
1) Your DVD class overall looks pretty good until we get to the end. The method public static double calculateEntireInventory(DVD[] prod) shouldn't be part of the DVD class since it has nothing to do with an individual DVD (which is what this class is all about) and everything to do with a collection of DVDs. You should move this to another class, a non-GUI Inventory class.
2) The method public static Movie[] sortInventory(Movie[] prod) also shouldn't be in your DVD class for the same reason as noted above, and also because it deals with Movie objects which are objects that descend from DVD. The parent really shouldn't have to depend on the child class to function, and leaving this in would likely break your code at some time or another. Again, put this in a non-GUI Inventory class. You probably should use a DVD parameter, not a Movie parameter. Another option is to have your DVD and Movie classes implement the Comparable interface, since if you do this, sorting any collection of these is a breeze by using Arrays.sort(...) or Collections.sort(...).
3) Again (starting to sound like a broken record) the method public double calculateInventory(DVD[] dvd) shouldn't be part of the Movie class for the very same reasons noted above.
4) You need to create a non-GUI Inventory class, shoot, you can call it NonGuiInventory if you'd like (though I'd call it Inventory and call the GUI class GuiInventory) that has all the important functionality that the GUI will display. This class holds a collection of DVDs (or Movies), has an int index that points to the current Movie of interest, has a next() method that advances this index and returns the next Movie in the collection (or the first if you're at the last), has a previous() method that does the opposite, has a first() method that sets the index to zero and returns the first Movie in the collection, a last() method that advances the index to the size of the collection - 1 and returns this Movie, and has a sort method that sorts the collection. You can even have add(Movie) and a remove(Movie) methods here. By separating this functionality from the GUI, you are able to simplify your task by dividing and conquering.
5) Finally you can display all this with your InventoryGUI class that uses the above class as its model, displaying the current Movie that is pointed to by the Inventory's index, that when the next() method is called gets the Movie returned by it and displays it.
Note that if you go this route, you'll need to do some major re-writes of the GUI class, but it will improve your program greatly.
HTH and good luck -
Inventory Program Pt 2 - I have most of it, but I can't get it finished.
Hello. I am currently stumped. I am already a day late with this assignment and I cannot figure out the logic to use to calculate the overall value of the entire inventory. I'm pasting my code here in the hopes that someone can tell me what it is I'm not thinking of. I also need to do a bubblesort to display the inventory sorted by name of the computer game listed; with several arrays, I don't know how I'm going to keep the related information together. Please help!
/* Inventory Program Part 2
Modify the Inventory Program so the application can handle multiple items. Use an
array to store the items. The output should display the information one product
at a time, including the item number, the name of the product, the number of units
in stock, the price of each unit, and the value of the inventory of that product.
In addition, the output should display the value of the entire inventory.
Create a method to calculate the value of the entire inventory.
Create another method to sort the array items by the name of the product. */
package InventoryPart2; // Comment out later
import java.util.Scanner; // Program uses class Scanner to accept user input
public class InventoryPt2 // Main method begins execution of Java application
public static void main (String args [])
// create Scanner to obtain input from command window
Scanner input = new Scanner( System.in );
computerGame gameInfo = new computerGame(); // Instantiates the computerGame object
invValue inventoryValue = new invValue(); // Instantiates the invValue object
// Initialize arrays for storage of inventory information
// Need to perform bubble sort on each array in an index-controlled loop
String gameNumber[] = new String[100];
String gameName[] = new String[100];
int gameStock[] = new int[100];
double gamePrice[] = new double[100];
double gameStockVal[] = new double[100];
// Show Program Welcome Message
System.out.println(); // White space
System.out.println( "Welcome to the Computer Game Inventory Program!!!");
System.out.println();
System.out.println( " Copyright 2009 by Some Guy");
System.out.println(); // White space
System.out.println(); // White space, again
// Prompt for the number of games
System.out.print( "How many different computer games are you entering? "); // Prompt for input
int maxCount = input.nextInt(); // Read input
input.nextLine(); // Clear-out
int counter = 0;
do // Begin a loop to collect information about each game entered
System.out.println();
System.out.print( "Please enter an item ID number: ");
gameInfo.setNumber(input.next());
gameNumber[counter] = gameInfo.getNumber();
System.out.println();
System.out.print( "Please enter a name for the game: ");
gameInfo.setName(input.next());
gameName[counter] = gameInfo.getName();
System.out.println();
System.out.print( "Please enter the number on-hand: ");
gameInfo.setStock(input.nextInt());
gameStock[counter] = gameInfo.getStock();
System.out.println();
System.out.print( "Please enter the price of this game: $");
gameInfo.setPrice(input.nextDouble());
gamePrice[counter] = gameInfo.getPrice();
System.out.println();
gameStockVal[counter] = gameInfo.thisItemVal();
counter = counter + 1;
while ( counter < maxCount ); // End loop
counter = 0;
//double totalValue = 0 + gameStockVal[counter];
do
System.out.println( " Item number: " + gameNumber[counter] );
System.out.println( " Game name: " + gameName[counter] );
System.out.println( " Number in stock: " + gameStock[counter] );
System.out.print ( " Price each: $" );
System.out.printf( "%1.2f", gamePrice[counter] );
System.out.println();
System.out.print ( "Total value this item: $" );
System.out.printf( "%1.2f", gameStockVal[counter] );
System.out.println();
System.out.println();
counter = counter + 1;
while ( counter < maxCount );
System.out.print( "The total value of all inventory is: $" );
System.out.printf ( "%1.2f", ??? );
System.out.println();
System.out.println();
} // End main method
} // End class InventoryPt2
class computerGame
private String number; // Declaration of variables
private String name;
private int stock;
private double price;
public computerGame() // Default constructor
number = "";
name = "";
stock = 0;
price = 0.00;
// Parameterized constructor
public computerGame( String number, String name, int stock, double price )
this.number = number;
this.name = name;
this.stock = stock;
this.price = price;
public void setNumber ( String number ) // Method to store and return the game's ID number
this.number = number;
String getNumber()
return number;
public void setName ( String name ) // Method to store and return the game's name
this.name = name;
String getName()
return name;
public void setStock ( int stock ) // Method to store and return how many of a game are in stock
this.stock = stock;
int getStock()
return stock;
public void setPrice ( double price ) // Method to store and return a game's price
this.price = price;
double getPrice()
return price;
public double thisItemVal()
return ( stock * price );
class invValue
double totalValue;
public invValue() // Default constructor
totalValue = 0.00;
public invValue( double totalValue ) // Parameterized constructor
this.totalValue = totalValue;
public void setValue ( double totalValue )
this.totalValue = totalValue;
public double getValue()
return totalValue;
}This is a place to ask questions, not a place for others to complete your homework. Accept the grade and learn from your mistake/s. Gl with the future.
Mel -
Need help with inventory program!!! someone please help me!!!
Ok I have to write this inventory program for one of my classes.
For part one i needed to Create a product class that holds the item number, the name of product, the number of units in stock, and the price of each unit.
Then create a java application that displays all of the above info plus the total value of the inventory. I have done this so far with success.
For part two i needed to modify the program so the application can handle multiple items. Use an array to store the items. The output should display the information one product at a time including the item number, the name of the product, the number of units in stock, the price per unit, and the value of the inventory of that product. In addition, the output should display the value of the entire inventory.
so create a method to calculate the value of the entire inventory.(i did this)
and create another method to sort the array items by the name of the product. ( i did this)
The program compiles and runs fine except it is not doing anything from part two. It just does the same thing that it did when i wrote part one.
Does anyone know why or what i need to do to my code.
Here is my code.
import java.util.Scanner; // program uses class Scanner
import java.util.Arrays;
class ProductList
Product[] products = new Product[100]; // an array of 100 pruducts
private void populate() {
products[0] = new Product(0, "Good Luck Chuck" , 25, 4.95);
products[1] = new Product(1, "The Bourne Identity" , 3, 7.95);
products[2] = new Product(2, "The Reaping" , 5, 8.99);
products[3] = new Product(3, "Deja Vu" , 2,12.99);
products[4] = new Product(4, "I Know Who Killed Me" , 3,10.95);
private void sortByTitle() {
private void print() {
for(int i=0; i<products.length; i++) {
System.out.println(products);
private void printTotalInventoryValue() {
System.out.println("Total Inventory Value = "+calculateTotalInventoryValue());
private double calculateTotalInventoryValue() {
double total = 0D;
for(int i=0; i<products.length; i++) {
total += products[i].calculateInventoryValue();
return total;
public static void main( String args[] ) {
ProductList list = new ProductList();
list.populate();
list.sortByTitle();
list.print();
list.printTotalInventoryValue();
} class Product
private int id;
private String title;
private int stock;
private double price;
public Product(int id, String title, int stock, double price) {
setId(id);
setTitle(title);
setStock(stock);
setPrice(price);
public int getId() { return this.id; }
public void setId(int id) { this.id = id; }
public String getTitle() { return this.title; }
public void setTitle(String title) { this.title = title; }
public int getStock() { return this.stock; }
public void setStock(int stock) { this.stock = stock; }
public double getPrice() { return this.price; }
public void setPrice(double price) { this.price = price; }
public double calculateInventoryValue() {
return getStock() * getPrice();
public class Inventorypt2
private String ProductInfo; // call class product info
public static void main(String args[])
//create Scanner to obtain input from command window
Scanner input = new Scanner( System.in );
int num; // product's item number
int stock; // number of items in stock
double price; // price each of item
ProductInfo product; // product information instance
System.out.println(); // blank line
String name = "go";
// loop until sentinel value read from user
while ( !name.equalsIgnoreCase ("stop") )
System.out.print( "Enter DVD title, or STOP to quit: "); // prompt
name = input.nextLine(); // read item name from user or quit
System.out.print( "Enter the item number: "); // prompt
num = input.nextInt(); // read item number from user
while ( num <=0 ) //loop until item number is positive
System.out.println ("Item number must be positive. Please re-enter item number: ");//prompt user to re-enter item number
num = input.nextInt(); // read item number
} //end while
System.out.print( "Enter the quantity in stock: "); // prompt
stock = input.nextInt(); // read stock quantity from user
while ( stock <0 ) //loop until stock is positive
System.out.println ("Quantity in stock can not be less than zero. Please re-enter the quantity in stock: ");//prompt user to re-enter quantity in stock
stock = input.nextInt(); // read stock quantity from user
} //end while
System.out.print( "Enter the price of DVD: "); // prompt
price = input.nextDouble(); // read item price from user
while ( price <=0 ) //loop until price is positive
System.out.println ("Product price must be positive. Please re-enter the price of the product: ");//prompt user to re-enter product price
price = input.nextDouble(); // read item price from user
} //end while
product = new ProductInfo( num, name, stock, price); // initialize ProductInfo variables
System.out.println(); // blank line
System.out.printf( "Item Name: %S\n", product.getName());
System.out.printf( "Item Number: %s\n", product.getNum());
System.out.printf( "Qty. in Stock: %s\n", product.getStock());
System.out.printf( "Price Each: $%.2f\n", product.getPrice());
System.out.printf( "Total Value in Stock: $%.2f\n", product.getInventoryTotal());
System.out.println(); // blank line
System.out.print( "Enter DVD title, or STOP to quit: "); // prompt
name = "";
while ( name.equals("") )
name = input.nextLine(); // read new product name from user or quit
} //end while
System.out.println(); // blank line
System.out.println("Good Bye!"); // exit message
Edited by: jay1981 on Mar 16, 2008 2:07 PMYou will get more help if your code is formatted better:
* Only post code that is already formatted correctly including indentations.
* Get rid of all those comments cluttering up your code.
* Make sure your posted code compiles without need for any changes. Yours doesn't at present. Where is the ProductInfo class?
Again, you want it easy for a volunteer here to read your post, otherwise he/she simply won't do it. Good luck. -
I need some serious help and I'd appreciate anyone who knows Java. Here is the assignment:
Modify the Inventory Program so the application can handle multiple items. Use an array to store the items. The output should display the information one product at a time, including the item number, the name of the product, the number of units in stock, the price of each unit, and the value of the inventory of that product. In addition, the output should display the value of the entire inventory.
*?h Create a method to calculate the value of the entire inventory.*
*?h Create another method to sort the array items by the name of the product.*
*?h Post as an attachment in java forma*
I have not completed the program so I am not sure what kind of errors I will get. For some reason I cannot get past the first part of code. The errors are in bold print. The error for "new DVD(....) reads "cannot find symbol". The System.out.println("...") error reads "cannot find symbol..symbol: method getDVDPrice()...location: class inventoryprogram1app.DVD[]...operator + cannot be applied to java.lang.String,Arrray.getDVDPrice. I think that most of the bottom half is ok because I have no errors here, it's just the top part that I cant get past. Any help would be appreciated. Thanks.
public class InventoryProgram1App
public static void main(String[] args)
DVD[]dvd =new DVD[10];
new *DVD*("We Were Soilders","5","19.99","278");
new *DVD*("Why Did I Get Married","3","15.99","142");
new *DVD*("I Am Legend","9","19.99","456");
new *DVD*("Transformers","4","19.99","336");
new *DVD*("No Country For Old Men","4","16.99","198");
new *DVD*("The Kingdom","6","15.99","243");
new *DVD*("Eagle Eye","2","16.99","681");
new *DVD*("The Day After Tomorrow","4","19.99","713");
new *DVD*("Dead Presidents","3","19.99","493");
new *DVD*("Blood Diamond","7","19.99","356");
*System.out.println("DVD Title:" +DVD.getdvdTitle());+*
*+System.out.println("DVD Price:"+ dvd.getDVDPrice());*
*System.out.println("DVD units in stock:" +dvd.getDVDStock());+*
*+System.out.println("DVD item number:"+ dvd.getDVDitemNumber());*
*for (int counter = 0; > DVD.length; counter++);*
class DVD
private int dvdTitle;
private double dvdPrice;
private double dvdStock;
private double dvditemNumber;
public DVD(int title, double price, double stock, double itemNumber)
this.dvdTitle = title;
this.dvdPrice = price;
this.dvdStock = stock;
this.dvditemNumber = itemNumber;
public void setDVDTitle(int title)
this.dvdTitle = title;
public int getdvdDTitle()
return dvdTitle;
public void setDVDPrice(double price)
this.dvdPrice = price;
public double getDVDPrice()
return dvdPrice;
public void setDVDStock(double stock)
this.dvdStock = stock;
public double getDVDStock()
return dvdStock;
public void setDVDitemNumber(double itemNumber)
this.dvditemNumber = itemNumber;
public double getDVDitemNumber()
return dvditemNumber;
public double getValue()
return this.dvdStock * this.dvdPrice;
}I really appreciate you helping me out with this. I looked at all of the replies and went back and changed what was suggested. I have a load of errors...(*java.lang.ClassFormatError: Method "<error>" in class inventoryprogram2app/InventoryProgram2App has illegal signature "Ljava/lang/Object;"*
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: inventoryprogram2app.InventoryProgram2App. Program will exit.
Exception in thread "main"
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
I am still working on the program and trying to correct the errors, but when I correct 1 or 2 errors lines that were not errors at first became errors. I've been working on this since last night and can't for the life of me figure out what I am doing wrong. The code is not completed because I am trying to correct the current errors. I did run the program to get the error messages. I would appreciate any advice on what I am doing wrong. Thanks in advance.
public class InventoryProgram2App
public static void main(String[] args)
private DVD[]dvd =new DVD[10];
Scanner input = new Scanner(System.in);
String dvdTitle;
double dvdPrice = 0.0;
double dvdStock = 0.0;
double dvditemNumber = 0.0;
*dvd = new DVD();*
*System.out.println("DVD Title: " + dvd.getDVDTitle());*
*System.out.println("DVD Price:" + dvd.getDVDPrice());*
*System.out.println("DVD units in stock:" + dvd.getDVDStock());*
*System.out.println("DVD item number:" + dvd.getDVDitemNumber());*
*System.out.println("DVD inventory value:" + dvd.getValue());*
class DVD
private String dvdTitle;
private double dvdPrice;
private double dvdStock;
private double dvditemNumber;
public DVD(String title, double price, double stock, double itemNumber)
this.dvdTitle = title;
this.dvdPrice = price;
this.dvdStock = stock;
this.dvditemNumber = itemNumber;
public void setdvdTitle(String dvdTitle)
*dvdTitle = dvdTitle;*
*dvd[0] = new DVD("We Were Soilders","5","19.99","278");*
*dvd[1] = new DVD("Why Did I Get Married","3","15.99","142");*
*dvd[2] = new DVD("I Am Legend","9","19.99","456");*
*dvd[3] = new DVD("Transformers","4","19.99","336");*
*dvd[4] = new DVD("No Country For Old Men","4","16.99","198");*
*dvd[5] = new DVD("The Kingdom","6","15.99","243");*
*dvd[6] = new DVD("Eagle Eye","2","16.99","681");*
*dvd[7] = new DVD("The Day After Tomorrow","4","19.99","713");*
*dvd[8] = new DVD("Dead Presidents","3","19.99","493");*
*dvd[9] = new DVD("Blood Diamond","7","19.99","356");* }
public void setdvdStock(int dvdStock)
int stock = 0;
if(dvdStock >= 0)
dvdStock = stock;
*else(dvdStock = 0)* }
public void setdvdPrice(double dvdPrice)
double price;
*if(dvdPrice = 0.0)*
price = dvdPrice;
*else(price = 0.0)*
public void setDVDTitle(String title)
this.dvdTitle = title;
public String getDVDTitle()
return dvdTitle;
public void setDVDPrice(double price)
this.dvdPrice = price;
public double getDVDPrice()
return dvdPrice;
public void setDVDStock(double stock)
this.dvdStock = stock;
public double getDVDStock()
return dvdStock;
public void setDVDitemNumber(double itemNumber)
this.dvditemNumber = itemNumber;
public double getDVDitemNumber()
return dvditemNumber;
public double getValue()
return this.dvdStock * this.dvdPrice;
class inventoryDVD
int[] dvdValue = new int[10];
for (int dvdS = 0;counter < DVD.length(); counter++);
*dvdPrice * dvdStock[counter];*
public String toString;
} -
Can anyone help me solve my problem trying add GUI to Inventory program?
Here is my code in which I am receiving a couple of errors.
package inventory4;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Inventory4 extends JFrame implements ActionListener {
private class MyPanel extends JPanel {
ImageIcon image = new ImageIcon("Sample.jpg");
int width = image.getIconWidth();
int height = image.getIconHeight();
long angle = 30;
public MyPanel() {
super();
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.rotate(Math.toRadians(angle), 60 + width / 2, 60 + height / 2);
g2d.drawImage(image.getImage(), 60, 60, this);
g2d.dispose();
}//end class MyPanel
int currentIndex; //Currently displayed Item
Product[] supplies = new Product[4];
JLabel name;
JLabel number;
JLabel title;
JLabel quantity;
JLabel price;
JLabel fee;
JLabel totalValue;
JTextField nameField = new JTextField(20);
JTextField numberField = new JTextField(20);
JTextField titleField = new JTextField(20);
JTextField quantityField = new JTextField(20);
JTextField priceField = new JTextField(20);
JPanel display;
JPanel displayHolder;
JPanel panel;
public Inventory4() {
setSize(500, 500);
setTitle("Bob's CD Inventory Program");
//make the panels
display = new JPanel();
JPanel other = new JPanel();
JPanel picture = new MyPanel();
JPanel centerPanel = new JPanel();
displayHolder = new JPanel();
display.setLayout(new GridLayout(7, 1));
//other.setLayout(new GridLayout(1, 1));
//make the labels
name = new JLabel("Name :");
number = new JLabel("Number :");
title = new JLabel("Title :");
quantity = new JLabel("Quantity :");
price = new JLabel("Price :");
fee = new JLabel("Restocking Fee :");
totalValue = new JLabel("Total Value :");
//Add the labels to the display panel
display.add(name);
display.add(number);
display.add(title);
display.add(quantity);
display.add(price);
display.add(fee);
//Add the panels to the frame
getContentPane().add(centerPanel, "Center");
getContentPane().add(other, "South");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
class CD extends Product {
String genre;
double restockingFee;
public CD(String genre, double restockingFee, int item, String title, double stockQuantity,
double price) {
//super(title,item, stockQuantity, price);
this.genre = genre;
this.restockingFee = restockingFee;
// TODO Auto-generated constructor stub
//returns the value of the inventory, plus the restocking fee
public double getInventoryValue() {
// TODO Auto-generated method stub
return super.getItemPrice() + restockingFee;
public String toString() {
StringBuffer sb = new StringBuffer("Genre \t").append(genre).append("\n");
sb.append(super.toString());
return sb.toString();
//Inventory4.java
class Product implements Comparable {
private String title; // class variable that stores the item name
private int item; // class variable that stores the item number
private double stockQuantity; // class variable that stores the quantity in stock
private double price; // class variable that stores the item price
private String genre;
public Product() {
title = "";
item = 0;
stockQuantity = 0;
price = 0.0;
genre = "";
public Product(String title, String genre, int item, double stockQuantity, double price) {
this.title = title;
this.item = item;
this.stockQuantity = stockQuantity;
this.price = price;
this.genre = genre;
public void setTitle(String title) {
this.title = title;
public String getTitle() {
return title;
public void setItem(int item) {
this.item = item;
public int getItem() {
return item;
public void setStockQuantity(double quantity) {
stockQuantity = quantity;
public double getStockQuantity() {
return stockQuantity;
public void setItemPrice(double price) {
this.price = price;
public double getItemPrice() {
return price;
public void setGenre(String genre) {
this.genre = genre;
public String getGenre() {
return genre;
public double calculateInventoryValue() {
return price * stockQuantity;
public int compareTo(Object o) {
Product p = null;
try {
p = (Product) o;
} catch (ClassCastException cE) {
cE.printStackTrace();
return title.compareTo(p.getTitle());
public String toString() {
return "CD Title: " + title + "\nGenre: " + genre + "\nItem #: " + item + "\nPrice: $" + price + "\nQuantity: " + stockQuantity + "\nValue with restocking fee: $" + (calculateInventoryValue() + (calculateInventoryValue() * .05));
public class Inventory4 {
Product[] supplies;
public static void main(String[] args) {
Inventory4 inventory = new Inventory4();
inventory.addProduct(new Product("Mozart", "Classical", 1, 54, 11.50));
inventory.addProduct(new Product("Beethoven", "Classical", 2, 65, 12.00));
inventory.addProduct(new Product("Tiny Tim", "Classical", 3, 10, 1.00));
System.out.println("Inventory of CD's:\n\n");
System.out.println();
inventory.showInventory();
System.out.println();
double total = inventory.calculateTotalInventory();
System.out.println("Total Value is: $" + (total + (total * .05)));
public void sortByName() {
for (int i = 1; i < supplies.length; i++) {
int j;
Product val = supplies;
for (j = i - 1; j > -1; j--) {
Product temp = supplies[j];
if (temp.compareTo(val) <= 0) {
break;
supplies[j + 1] = temp;
supplies[j + 1] = val;
//creates a String representation of the array of products
public String toString() {
String s = "";
for (Product p : supplies) {
s = s + p.toString();
s = s + "\n\n";
return s;
//Using an array so adding an item requires us to increase the size of the array first
public void addProduct(Product p1) {
if (supplies == null) {
supplies = new Product[0];
Product[] p = supplies; //Copy all products into p first
Product[] temp = new Product[p.length + 1]; //create bigger array
for (int i = 0; i < p.length; i++) {
temp[i] = p[i];
temp[(temp.length - 1)] = p1; //add the new product at the last position
supplies = temp;
//sorting the array using Bubble Sort
public double calculateTotalInventory() {
double total = 0.0;
for (int i = 0; i < supplies.length; i++) {
total = total + supplies[i].calculateInventoryValue();
return total;
public void showInventory() {
System.out.println(toString()); //call our toString methodI re-entered the package and changed some of the code. I am building successfully, but getting a new msg: init:
deps-jar:
compile:
run:
java.lang.NoClassDefFoundError: Inventory5_5
Caused by: java.lang.ClassNotFoundException: Inventory5_5
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Exception in thread "main"
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds) I may have to go ahead and submit it as is to get it in on time. Thank you very much for your help and your patience. Here is my last effort.package inventory4;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class inventory4 extends JFrame {
private class MyPanel extends JPanel {
ImageIcon image = new ImageIcon("Sample.jpg");
int width = image.getIconWidth();
int height = image.getIconHeight();
long angle = 30;
public MyPanel() {
super();
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.rotate(Math.toRadians(angle), 60 + width / 2, 60 + height / 2);
g2d.drawImage(image.getImage(), 60, 60, this);
g2d.dispose();
}//end class MyPanel
int currentIndex; //Currently displayed Item
Product[] supplies = new Product[4];
JLabel name;
JLabel number;
JLabel title;
JLabel quantity;
JLabel price;
JLabel fee;
JLabel totalValue;
JTextField nameField = new JTextField(20);
JTextField numberField = new JTextField(20);
JTextField titleField = new JTextField(20);
JTextField quantityField = new JTextField(20);
JTextField priceField = new JTextField(20);
JPanel display;
JPanel displayHolder;
JPanel panel;
public inventory4() {
setSize(500, 500);
setTitle("Bob's CD Inventory Program");
//make the panels
display = new JPanel();
JPanel other = new JPanel();
JPanel picture = new MyPanel();
JPanel centerPanel = new JPanel();
displayHolder = new JPanel();
display.setLayout(new GridLayout(7, 1));
//other.setLayout(new GridLayout(1, 1));
//make the labels
name = new JLabel("Name :");
number = new JLabel("Number :");
title = new JLabel("Title :");
quantity = new JLabel("Quantity :");
price = new JLabel("Price :");
fee = new JLabel("Restocking Fee :");
totalValue = new JLabel("Total Value :");
//Add the labels to the display panel
display.add(name);
display.add(number);
display.add(title);
display.add(quantity);
display.add(price);
display.add(fee);
//Add the panels to the frame
getContentPane().add(centerPanel, "Center");
getContentPane().add(other, "South");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
class CD extends Product {
String genre;
double restockingFee;
public CD(String genre, double restockingFee, int item, String title, double stockQuantity,
double price) {
//super(title,item, stockQuantity, price);
this.genre = genre;
this.restockingFee = restockingFee;
// TODO Auto-generated constructor stub
//returns the value of the inventory, plus the restocking fee
public double getInventoryValue() {
// TODO Auto-generated method stub
return super.getItemPrice() + restockingFee;
public String toString() {
StringBuffer sb = new StringBuffer("Genre \t").append(genre).append("\n");
sb.append(super.toString());
return sb.toString();
//Inventory4.java
class Product implements Comparable {
private String title; // class variable that stores the item name
private int item; // class variable that stores the item number
private double stockQuantity; // class variable that stores the quantity in stock
private double price; // class variable that stores the item price
private String genre;
public Product() {
title = "";
item = 0;
stockQuantity = 0;
price = 0.0;
genre = "";
public Product(String title, String genre, int item, double stockQuantity, double price) {
this.title = title;
this.item = item;
this.stockQuantity = stockQuantity;
this.price = price;
this.genre = genre;
public void setTitle(String title) {
this.title = title;
public String getTitle() {
return title;
public void setItem(int item) {
this.item = item;
public int getItem() {
return item;
public void setStockQuantity(double quantity) {
stockQuantity = quantity;
public double getStockQuantity() {
return stockQuantity;
public void setItemPrice(double price) {
this.price = price;
public double getItemPrice() {
return price;
public void setGenre(String genre) {
this.genre = genre;
public String getGenre() {
return genre;
public double calculateInventoryValue() {
return price * stockQuantity;
public int compareTo(Object o) {
Product p = null;
try {
p = (Product) o;
} catch (ClassCastException cE) {
cE.printStackTrace();
return title.compareTo(p.getTitle());
public String toString() {
return "CD Title: " + title + "\nGenre: " + genre + "\nItem #: " + item + "\nPrice: $" + price + "\nQuantity: " + stockQuantity + "\nValue with restocking fee: $" + (calculateInventoryValue() + (calculateInventoryValue() * .05));
public class Inventory4 {
Product[] supplies;
public static void main(String[] args) {
Inventory4 inventory = new Inventory4();
inventory.addProduct(new Product("Mozart", "Classical", 1, 54, 11.50));
inventory.addProduct(new Product("Beethoven", "Classical", 2, 65, 12.00));
inventory.addProduct(new Product("Tiny Tim", "Classical", 3, 10, 1.00));
System.out.println("Inventory of CD's:\n\n");
System.out.println();
inventory.showInventory();
System.out.println();
double total = inventory.calculateTotalInventory();
System.out.println("Total Value is: $" + (total + (total * .05)));
public void sortByName() {
for (int i = 1; i < supplies.length; i++) {
int j;
Product val = supplies;
for (j = i - 1; j > -1; j--) {
Product temp = supplies[j];
if (temp.compareTo(val) <= 0) {
break;
supplies[j + 1] = temp;
supplies[j + 1] = val;
//creates a String representation of the array of products
public String toString() {
String s = "";
for (Product p : supplies) {
s = s + p.toString();
s = s + "\n\n";
return s;
//Using an array so adding an item requires us to increase the size of the array first
public void addProduct(Product p1) {
if (supplies == null) {
supplies = new Product[0];
Product[] p = supplies; //Copy all products into p first
Product[] temp = new Product[p.length + 1]; //create bigger array
for (int i = 0; i < p.length; i++) {
temp[i] = p[i];
temp[(temp.length - 1)] = p1; //add the new product at the last position
supplies = temp;
//sorting the array using Bubble Sort
public double calculateTotalInventory() {
double total = 0.0;
for (int i = 0; i < supplies.length; i++) {
total = total + supplies[i].calculateInventoryValue();
return total;
public void showInventory() {
System.out.println(toString()); //call our toString method -
Help with Java Inventory Program - I almost got it
Hello, I'm new to the forum so please don't hang me if I'm not posting this correctly or in the right place. I'm writing a Java Inventory Program for class and everything was great until we had to modify it to sort by product name (in my case dvd's). The problem is my arrays for inventory count and price are thrown off when I sort by dvd name because they are predefined. I could cheat and just rearrange the array in a logical order according to the dvd title but that isn't really the answer for me. Can someone help me do where my inventory count and price don't go out of wack when I sort by dvd name, I really don't want to start over.
Here is my code:
// Java InventoryProgram2
// Purpose of application is to Display DVD Inventory
import java.util.Arrays;
public class InventoryProgram2 // declare public class
{ // Start of public class InventoryProgram1
String dvdName[] = { "The Departed", "The Dark Knight","The Mummy", "Minority Report"};
double itemNum;
float stockCount[] = {3, 5, 8,2};
float totalValue [] = new float [4];
float price[] = { 19, 22, 17, 14};
float totInvVal;
// Method for printing dvdName the dvdName
public void DvdName ()
{ // Start of print method
// For loop to calculate total value
Arrays.sort(dvdName);
for( int itemNum = 0; itemNum < dvdName.length; itemNum ++ )
totalValue[itemNum] = stockCount[itemNum] * price[itemNum];
System.out.printf( "%s %15s %12s %12s %12s\n", "Item Number", "Dvd Name", "Price", "Stock", "Total"); // Prints title of column
for ( int itemNum = 0; itemNum <dvdName.length; itemNum ++ )
System.out.printf("%-8d %20s %10.02f %12.02f %12.02f\n", itemNum, dvdName[itemNum], price [itemNum],stockCount[itemNum], totalValue[itemNum]); // Calls the value of each column
} // end of method to print dvdName
// Method for total value of the inventory
public void totalInvValue()
{ //start of method to calc total inv value
totInvVal = stockCount [0] * price [0] + stockCount [1] * price [1] + stockCount [2] * price [2] + stockCount [3] * price [3];
System.out.printf("%s", "The Total Value of the Inventory is:","%10.02f");
System.out.printf("$%.02f", totInvVal);
} // end of method to calc total inv value
} // End of public class InventoryProgram1
// Java InventoryProgram2_Test
// Purpose of application is to Display DVD Inventory
public class InventoryProgram2_Test
{ // Start Bracket for InventoryProgram1
public static void main ( String args[] )
{ // Start Bracket for Public Main
InventoryProgram2 myInventoryProgram2 = new InventoryProgram2(); // invokes InventoryProgram1
myInventoryProgram2.DvdName (); // calls DvdName Method
myInventoryProgram2.totalInvValue(); // call method total inventory value
} // End Bracket for Public Main
} // End Bracket for InventoryProgram1
Edited by: ozzie2132 on Aug 11, 2008 6:57 PM
Edited by: ozzie2132 on Aug 11, 2008 6:57 PMa_turingmachine wrote:
naive ex:
class DVD {
String dvdName;
float stockCount;
float price;
}--turing machine:
Suggestion 1: If you are going to give code for someone doing homework, try not to give exactly what the OP needs but rather something similar. They will learn a lot more if they have to process your recommendations and then create their own code.
Suggestion 2: When posting your code, please use code tags so that your code will retain its formatting and be readable. To do this, you will need to paste already formatted code into the forum, highlight this code, and then press the "code" button at the top of the forum Message editor prior to posting the message. You may want to click on the Preview tab to make sure that your code is formatted correctly. Another way is to place the tag [code] at the top of your block of code and the tag [/code] at the bottom, like so:
[code]
// your code block goes here.
// note the differences between the tag at the top vs the bottom.
[/code]or
{code}
// your code block goes here.
// note here that the tags are the same.
{code} -
Payroll Program Part 3 (confused)
Okay, I'm sure you guys are sick of me by now. :-)
This is the last part of an assignment that's supposed to calculate an employee's weekly pay, these are the requirements for this phase:
Payroll Program Part 3:
Modify the Payroll Program so that it uses a class to store and retrieve the employee's
name, the hourly rate, and the number of hours worked. Use a constructor to initialize the
employee information, and a method within that class to calculate the weekly pay. Once
stop is entered as the employee name, the application should terminate.
So I wrote the separate class:
// Employee class stores and retrieves employee information
import java.util.Scanner; // program uses class scanner
public class Employee1
// instance fields
private double rate;
private double hours;
private String employeeName;
// class constructor
public Employee1()
rate = 0.0;
hours = 0.0;
employeeName = "";
} // end class Employee1 constructor
// set rate
public void setrate(double rate)
rate = rate;
} // end method setrate
// get rate
public double getrate()
return rate;
} // end method getrate
// set hours
public void sethours(double hours)
hours = hours;
} // end method sethours
// get hours
public double gethours()
return hours;
} // end method gethours
// set employee name
public void setemployeeName(String employeeName)
employeeName = employeeName;
} // end method setemployeeName
// get employee name
public String getemployeeName()
return employeeName;
} // end method getemployeeName
// calculate and return weekly pay
public double calculateWeeklyPay()
return rate * hours; // display multiplied value of rate and hours
} // end method calculateWeeklyPay
} // end class Employee1...and modified the original program:
// Payroll Program Part 3
// Employee1 object used in an application
import java.util.Scanner; // program uses class Scanner
public class Payroll3
// main method begins execution of Java application
public static void main( String args[] )
// create and initialize an Employee1 object
Employee1 employee = new Employee1(); // invokes Employee1 constructor
employee.setrate();
employee.sethours();
Double weeklyPay = employee.calculateWeeklyPay();
// create Scanner to obtain input from command window
Scanner input = new Scanner( System.in );
String employeeName = ""; // employee name to display
Double rate; // first number to multiply
Double hours; // second number to multiply
Double weeklyPay; // product of rate and hours
// loop until 'stop' read from user
while( employeeName.equals("stop") )
System.out.print( "Enter employee name or 'stop' to quit: "); // prompt
employeeName = input.next (); // read employee name from user
System.out.print( "Enter hourly rate: " ); // prompt
rate = input.nextDouble(); // read first number from user
// check if hourly rate is positive number
if( rate <= 0 )
System.out.print( "Enter a positive amount" );
System.out.print( "Enter hourly rate: " ); // prompt
rate = input.nextDouble(); // read first number from user
} // end if
System.out.print( "Enter hours worked: " ); // prompt
hours = input.nextDouble(); // read second number from user
// check if hours worked is positive number
if( hours <= 0 )
System.out.print( "Enter a positive amount" );
System.out.print( "Enter hours worked: " ); // prompt
hours = input.nextDouble(); // read second number from user
} // end if
weeklyPay = rate * hours; // multiply numbers
System.out.printf( "Employee \n", employeeName); // display employee name
System.out.printf( "Weekly pay is $%d\n", weeklyPay ); // display weekly pay
} // end while
} // end method main
} // end class Payroll3I managed to compile the separate class just fine, but when I tried to compile Payroll3 I got these [three error messages|http://img150.imageshack.us/img150/3919/commandpromptrl9.jpg].
I think I have an idea of what I did wrong, but I'm not sure what to change. I tried to emulate the code from some examples in my chapters and online but I'm a little in the dark about how these to files are actually supposed to work together.
Also, the requirements say the program should end when 'stop' is entered as the employee name, I don't know if that applies to what I already have in Payroll3 or if I should use a sentinel controlled loop again in Employee1. I tried that and I got a whole host of error messages (probably did it wrong) so I just removed it.
I'm going to play around with this a little more, I'm reluctant to change anything in my separate class since I managed to compile it, so I'm going to try some different things with Payroll3.
If anyone has any suggestions I would greatly appreciate it, I'm a total newbie here so don't hesitate to state the obvious, it might not be so obvious to me (sorry for the lengthy post).
Edited by: Melchior727 on Apr 22, 2008 11:21 AM
Edited by: Melchior727 on Apr 22, 2008 11:23 AMemployee.setrate();
employee.sethours();First of all, your Employee1 class' setrate() and sethours() method both requires a parameter of type double.
// loop until 'stop' read from user
while( employeeName.equals("stop") )
System.out.print( "Enter employee name or 'stop' to quit: "); // prompt
employeeName = input.next (); // read employee name from userIf you want the while loop to stop when "stop" is entered, then change the condition to:
while (!(employeeName.equals("stop))){code}
This way the loop will perform whatever you tell it to do when it's NOT "stop".
Also, take the prompt statements and paste them once outside the while loop, and a second time at the end of the loop:
<example>
== prompt for reply
== while()
== {
== ....
== prompt again
== }
<example>
Fix those problems first and see how it goes -
Home Inventory Program for Macintosh
I am trying to find a good Home Inventory Program that will work with my computer. I have searched on web sites but, so far, have not found one that looks promising. Does anyone know of a good program that I can use. If so, please let me know. Thanks
I use a program called "Sole Possession" it's not to bad. Here is the link:
http://www.epigroove.com/click.php?lid=2&rid=810572905
Tony Aldridge -
Help with Inventory Program Buttons & images
I'm supposed to have buttons that move between the items in my program individually showing them one by one and also going to the first item when the last one is reached and vice versa, but I cannot get the buttons to to show even show up. I'm also having problems getting any type of image to show up. Any help on this would be appreciated.
My code is below
import java.awt.GridLayout;
import java.text.NumberFormat;
import java.util.Arrays;
import javax.swing.*;
//Begin Main
public class InventoryProject {
@SuppressWarnings("unchecked")
public static Product[] sortArray(Product myProducts[])
//Comparator comparator = null;
ProductComparator comparator = new ProductComparator();
Arrays.sort(myProducts, comparator);
return myProducts;
public static double CalculateInventory(Product myProducts[])
double total = 0;
for (int i = 0; i < myProducts.length; i++)
total += myProducts.calculateInventory();
return total;
public static void main (String[] args) {
Product products[] = new Product.Supplier[5];
//Create 5 Product Objects
Product.Supplier invItem0 = new Product.Supplier("The Matrix (DVD)", 100001, 12, 15.99, "Warner Brothers");
Product.Supplier invItem1 = new Product.Supplier("The Matrix Reloaded (DVD)", 100002, 9, 17.99, "Warner Brothers");
Product.Supplier invItem2 = new Product.Supplier("The Matrix Revolutions (DVD)", 100003, 27, 18.99, "Warner Brothers");
Product.Supplier invItem3 = new Product.Supplier("300 (DVD)", 100004, 5, 18.99, "Warner Brothers");
Product.Supplier invItem4 = new Product.Supplier("Harry Potter and the Sorcerers Stone (DVD)", 100005, 10, 15.99, "Warner Brothers");
//products array
products[0] = invItem0;
products[1] = invItem1;
products[2] = invItem2;
products[3] = invItem3;
products[4] = invItem4;
products = sortArray(products);
// Output Product Object
JTextArea textArea = new JTextArea();
for (int a = 0; a < products.length; a++)
textArea.append(products[a]+"\n");
textArea.append("\nTotal value of the inventory is "+new java.text.DecimalFormat("$0.00").format(CalculateInventory(products))+"\n\n");
JButton prevBtn = new JButton("Previous");
prevBtn.setEnabled(false);
JButton nextBtn = new JButton("Next");
JPanel p = new JPanel(new GridLayout(1,2));
p.add(prevBtn); p.add(nextBtn);
JFrame frame = new JFrame();
frame.getContentPane().add(new JScrollPane(textArea));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("DVD Inventory");
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
/* for (int a = 0; a < products.length; a++)
System.out.println(products[a]); //use the toString method that you have defined in your Product class to print out the product information.
System.out.println("Total Value of The Inventory: " + nf.format (CalculateInventory(products)));
private String name;
private int number;
private int unitCount;
private double unitPrice;
// public String SupplierName;
// public static double calculateInventory;
//Constructor
public Product (String name, int number, int unitCount, double unitPrice)
setName(name);
setNumber(number);
setUnitCount(unitCount);
setUnitPrice(unitPrice);
// get and set methods for Number attribute
public void setNumber(int itemnumber){
number = itemnumber;
public int getNumber(){
return number;
// get and set methods for Name attribute
public void setName(String names){
name = names;
public String getName(){
return name;
// get and set methods for UnitCount attribute
public void setUnitCount(int count){
unitCount = count;
public int getUnitCount(){
return unitCount;
// get and set methods for UnitPrice attribute
public void setUnitPrice(double price){
unitPrice = price;
public double getUnitPrice(){
return unitPrice;
// get and set Total Inventory method
public double calculateInventory()
return getUnitPrice() * getUnitCount();
public String toString () {
return "Item Name: " + name + "\n" + "Item Inventory Number: " + number + "\n" + "Item Unit Count: " + unitCount + "\n" + "Item Unit Price: " + unitPrice + "\n" ;
public void Supplier() {
// TODO Auto-generated method stub
return;
// public Supplier getSupplierName() {
// // TODO Auto-generated method stub
// return null;
static class Supplier extends Product
//private double restockFee;
private String supplierName;
NumberFormat nf = NumberFormat.getCurrencyInstance();
public Supplier(String Name, int Number, int UnitCount, double UnitPrice, String SupplierName)
super(Name, Number, UnitCount, UnitPrice);
setSupplierName(SupplierName);
//setRestockFee(restockFee);
this.supplierName = SupplierName;
//get and set methods for Supplier attribute
public String setSupplierName(String supplier)
supplierName = supplier;
return supplierName;
public String getSupplierName()
return supplierName;
public double calculateRestockFee()
return (((getUnitPrice()) * (getUnitCount())) * 0.05);
public double calculateInventory()
return ((getUnitPrice() * getUnitCount()));
public String toString ()
return "Item Name: " + getName() + "\n" + "Item Inventory Number: " + getNumber() + "\n" + "Item Unit Count: " + getUnitCount()
+ "\n" + "Item Unit Price: " + nf.format(getUnitPrice()) + "\n" + "Inventory Value: " + nf.format(calculateInventory()) + "\n"
+ "Supplier Name: " + getSupplierName() + "\n" + "Restock Fee: " + nf.format(calculateRestockFee()) + "\n";
public int compareTo(Product arg0)
// TODO Auto-generated method stub
return (this.name.compareTo(arg0.getName()));
}public class ProductComparator implements java.util.Comparator
public int compare(Object o1, Object o2)
if(o1 == null) return -1;
if(o2 == null) return 1;
Product p1 = (Product) o1;
Product p2 = (Product) o2;
String s1 = p1.getName();
String s2 = p2.getName();
int compVal = s1.compareTo(s2);
return compVal;The program does work because I can get the content of my array to show in a GUI the only problem is the buttons aren't showing up in the GUI which is what I'm having a problem with. I also tried adding the panel to the frame but it didn't do any good either so maybe I'm not doing it right although when I compile I get 0 errors. What's the link to the swing tutorial?
JTextArea textArea = new JTextArea();
for (int a = 0; a < products.length; a++)
textArea.append(products[a]+"\n");
textArea.append("\nTotal value of the inventory is "+new java.text.DecimalFormat("$0.00").format(CalculateInventory(products))+"\n\n");
JButton prevBtn = new JButton("Previous");
prevBtn.setEnabled(false);
JButton nextBtn = new JButton("Next");
JPanel panel1 = new JPanel(new GridLayout(1,2));
panel1.add(prevBtn); panel1.add(nextBtn);
JFrame frame = new JFrame();
frame.getContentPane().add(new JScrollPane(textArea));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("DVD Inventory");
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.add(panel1);Edited by: Morepheus on May 20, 2009 12:55 AM
Edited by: Morepheus on May 20, 2009 12:58 AM
Edited by: Morepheus on May 20, 2009 1:00 AM -
Hello,
I am new to Java programming and I need some assistance in trying to complie my program correctly. I would greatly appreciate it.
I have started my program, but keep getting the same two compile errors.
C:\Program Files\Java\Product.java:91: illegal start of expression
public InventoryPart1(String name, double number, double units, double price)
^
C:\Program Files\Java\Product.java:113: class, interface, or enum expected
}//end class InventoryPart1
My assignment ask:
Choose a product that lends itself to an inventory (for example, products at your workplace, office supplies, music CDs, DVD movies, or software).
Create a product class that holds the item number, the name of the product, number of units in stock and the price of each unit.
Create a Java application that displays the product number, the name of the product, number of units in stock, the price of each unit, and the value of inventory (the number of units multiplied by price of each unit). Pay attention to the good programming practices in the text to ensure your source code is readable and well documented.
This is what I have so far.
* Product.java
* @author Amy Summers
* A class created as a Product
* which hold information with a constructor
//Create and manipulate a Product class.
import java.util.Scanner;//program uses Scanner
class Product
private String nameIn;
private double numberIn;//item number
private double unitsIn;//number of units in stock
private double priceIn;//price of each unit
//four-argument constructor
public Product( String nameIn, double numberIn,
double unitsIn, double priceIn )
//implicit call to Object constructor occurs here
nameIn = nameIn;
numberIn = numberIn;
unitsIn = unitsIn;
priceIn = priceIn;
}//end four-argument Product constructor
// set product name
public void setNameIn (String name)
name = nameIn;
}//end method setNameIn
//return product name
public String getNameIn()
return nameIn;
}//end method getNameIn
// set number
public void setNumberIn (double number)
number = numberIn;
}//end method setNumberIn
//return number
public double getNumberIn()
return numberIn;
}//end method getNumberIn
//set units
public void setUnitsIn ( double units)
units = unitsIn;
}//end method setUnitsIn
//return units
public double getUnitsIn()
return unitsIn;
}//end method getUnitsIn
//set price
public void setPriceIn (double price)
price = priceIn;
}//end method set priceIn
//return price
public double getPriceIn()
return priceIn;
}//end method getPriceIn
}//end class Product
* InventoryPart1.java
* @author Amy Summers
public class InventoryPart1
private String Productname;//product name for this
InventoryPart1
//constructor initializes productName
public InventoryPart1(String name, double number,
double units, double price)
Product myProduct1 = new Product
();//initializes productName
System.out.printf("%s%s\n", "Name",
getnameIn() );//display name
System.out.printf("%s%
s\n", "Number",
getnumberIn() );//display number
System.out.printf("%s%s\n", "Units",
getunitsIn() );//display units
System.out.printf("$%.2f\n", "Price",
getpriceIn() );//display price
value = unitsIn * priceIn;//mulitple
numbers
System.out.printf("$%.2f\n",
value);//display inventory value
}//end main method
}//end class InventoryPart1* Product.java
* @author Amy Summers
* A class created as a Product
* which hold information with a constructor
//Create and manipulate a Product class.
import java.util.Scanner;//program uses Scanner
class Product
private String nameIn;
private double numberIn;//item number
private double unitsIn;//number of units in stock
private double priceIn;//price of each unit
//four-argument constructor
public Product( String nameIn, double numberIn, double unitsIn, double priceIn )
//implicit call to Object constructor occurs here
nameIn = nameIn;
numberIn = numberIn;
unitsIn = unitsIn;
priceIn = priceIn;
}//end four-argument Product constructor
// set product name
public void setNameIn (String name)
name = nameIn;
}//end method setNameIn
//return product name
public String getNameIn()
return nameIn;
}//end method getNameIn
// set number
public void setNumberIn (double number)
number = numberIn;
}//end method setNumberIn
//return number
public double getNumberIn()
return numberIn;
}//end method getNumberIn
//set units
public void setUnitsIn ( double units)
units = unitsIn;
}//end method setUnitsIn
//return units
public double getUnitsIn()
return unitsIn;
}//end method getUnitsIn
//set price
public void setPriceIn (double price)
price = priceIn;
}//end method set priceIn
//return price
public double getPriceIn()
return priceIn;
}//end method getPriceIn
}//end class Product
* InventoryPart1.java
* @author Amy Summers
public class InventoryPart1
private String Productname;//product name for this InventoryPart1
//constructor initializes productName
public InventoryPart1(String name, double number, double units, double price)
Product myProduct1 = new Product();//initializes productName
System.out.printf("%s%s\n", "Name",
getnameIn() );//display name
System.out.printf("%s%s\n", "Number",
getnumberIn() );//display number
System.out.printf("%s%s\n", "Units",
getunitsIn() );//display units
System.out.printf("$%.2f\n", "Price",
getpriceIn() );//display price
value = unitsIn * priceIn;//mulitple numbers
System.out.printf("$%.2f\n", value);//display inventory value
}//end main method
}//end class InventoryPart1Sorry about that. -
//InventoryProgram1.java
//import java.util.Scanner; // allow for input
import java.util.Arrays;
import java.util.Scanner;
import java.lang.String;
class Product {
String Name;
int itemNumber;
int numberofunits;
int priceperunit;
public Product (String name, int itemNumber, int numberofunits,
int priceperunit); {
String Name = name;
this.itemNumber = itemNumber;
this.numberofunits = units;
this.priceperunit = price;
computeValueInventory ();
private void computeValueInventory () {
Value = Units * price;
public class InventoryProgram1 //declares public class inventory
public static void main(String args []) //starts the program
PRODUCT[] = new Product[3];
product[0] = new PRODUCT(1, "StApler",45, 2, 17.99 );//
declares a new item
// number, name
// quantity, and price
product[1] = new PRODUCT(2, "Calanders", 47, 4, 12.99 );
product[2] = new PRODUCT(3, "Toner", 49, 6, 19.99 );
//added changes
Inventory1 x = new Inventory1();
x.sortPRODUCT(product);
}// end main
public void SortPRODUCT(PRODUCT[] the PRODUCT) {
for (int index = 0; index < the PRODUCT.size - 1;
index++) {
String s1 = thePRODUCT[index].getProductName();
String s2 = thePRODUCT[index] + 1].getProductName
if (comparewords(s1, s2)) {
PRODUCT temp = thePRODUCT[index];
thePRODUCT[index] = thePRODUCT[index + 1];
thePRODUCT[index + 1] = temp;
index = -1;
private boolean comparewords(String s1, String s2) {
boolean islarger = false;
for (int index = 0; index < s1.length(); index++) {
if (index < s2.length()) {
if (s1.toLowerCase().charAT
(index) > s2.toLowerCase().charAT(index)) {
islarger = true;
break;
if (s1.toLowerCase().charAT
(index) < s2.toLowerCase().charAT(index) {
break;
}else {
return true;
return islarger;
//end of changes
} // end class Inventory1
class PRODUCT // declares class inventory
private int itemName;// declares item number as in
private String productTitle;// declares product title as string
private int onHand; // declares on hand as int
private double productCost;// declares cost as double
public PRODUCT(int stockNumber, String title, int inStock,
double price) // constructor
itemNumber = stockNumber;// intitiates stock
number, title, instock, and
// price
productTitle = title;
onHand = inStock;
productCost = price;
// set PRODUCT StockNumber //sets stock number
public void seItemNumber(int stockNumber)
itemNumber = stockNumber;
public int getItemNumber() // class item number
return itemNumber; // returns item number
} // end method get PRODUCT Item
public void setProductTitle(String title) // set PRODUCT Title
productTitle = title;
public String getProductTitle() // gets and returns PRODUCT Title
return productTitle;
public void setOnHand(int inStock) // Set on hand
onHand = inStock;
public int getOnHand() // gets and returns on hand
return onHand;
public void setProductCost(double price) // sets product cost
productCost = price;
public double getProductCost() // gets and returns PRODUCT cost
return productCost;
public double value() // calculate the value of stock
return productCost * onHand;
} // end class Product
This is a app I have modified and want to know if I have done what is required of me.... It must handle multiple items, use an array to store the items, display the info one product at a time, include the item number, the name of product, number of units in stock, price of each unit, value of that product, also dislay the value of entire inventory.Debby_54 wrote:
This is a app I have modified and want to know if I have done what is required of me.... It must handle multiple items, use an array to store the items, display the info one product at a time, include the item number, the name of product, number of units in stock, price of each unit, value of that product, also dislay the value of entire inventory.If you wrote the program yourself then you should be capable of answering these questions on your own. If you wrote something yet don't quite understand it then either: 1) google it, 2) ask a more specific question.
If you are merely here to check if your program meets the specifications of an assignment, well firstly highlighting your code using CODE tags is a good start. But the fact is to me at least you present little understanding of your own code which makes me believe this is either laziness or simple copy pasting...
Bye for now.
Mel
Maybe you are looking for
-
Problem with p45d3 and sapphire hd4870 1gb
Hi to all I have a big problem the mother card and video card. Do you know if there is some problem among the p45d3 platinum and the sapphire hd4870 1 gb ram? I have assembled a new pc: -MAIN BOARD: P45D3 platinum bios 1.6 - CPU: core 2 quads q9550 -
-
Error while doing DELTA Extraction (generic data source)
Hi BW Experts, In my R/3, I have a generic data source ZBUT_VW. It receives data from a View which is created based on couple tables. When I do full load to the corresponding ODS, it is successful. But after that I delete the ODS and created CUBE wit
-
Dear Experts, When I'm setting the BUDGETED status manually to Internal Order (With out distributing the Budget to Order in IM52) and after if I m setting RELEASE status the system is accepting. So, I want to stop this without giving the budget in IO
-
Using two BT Branded Youview Humax boxes
9 months ago I purchased a second BT branded Humax Youview box from John Lewis. The two boxes have worked on the internet channels perfectly well. I have now had access to the internet channels removed on the second box. I very rarely had need to acc
-
Function count() meets group by
Hi guys, I got an application error, and the root cause is like below, not sure if anyone have same experience: We will validate the return row count, and it's tricky that the old code was LIKE: SELECT COUNT(1) FROM table_name WHERE 1 != 1; 0 the out