well i took everything you said into consideratin and this is what my code is as of now:
Base Class
import java.util.*;//create a base classpublic class Item{ //declare private variables private String name; private int id; //create default constructor with no parameters public Item() { setI("No Name", 0); } //create constructor with parameters public Item(String n, int i) { setI(n, i); } //create setNameCost with parameters public void setI(String n, int i) { name = n; id = i; } //create getName method public String getName() { return name; } //create getID method public int getID() { return id; } //create print method public void printInv() { System.out.printf("%5s", id); System.out.printf("%5d", name); } @Override public String toString() { String str = ""; /*str = String.format("%-10d", id) + String.format("%10s" + name); */ String.format("%-10s%10s", id, name); return str; } }
Derrived Class:
import java.util.*;public class Inventory extends Item{ //create private variables private int pOrdered, pInStock, pSold; private double sellingPrice, manufPrice; //create default constructor public Inventory() { super(); pOrdered = 0; pInStock = 0; pSold = 0; sellingPrice = 0.00; manufPrice = 0.00; } //create constructor with parameters public Inventory(String n, int i, int ordered, int stock, int sold, double s, double m) { super(n, i); pOrdered = ordered; pInStock = stock; pSold = sold; sellingPrice = s; manufPrice = m; } //create a set method public void setI(String n, int i, int ordered, int stock, int sold, double s, double m ) { super.setI(n, i); pOrdered = ordered; pInStock = stock; pSold = sold; sellingPrice = s; manufPrice = m; } //public //create print method public void printInv() { super.printInv(); System.out.printf("%5s", pOrdered); System.out.printf("%5d", pInStock); System.out.printf("%5s", pSold); System.out.printf("%5d", sellingPrice); System.out.printf("%5s%n", manufPrice); } @Override public String toString() { String str; /*str = String.format(super.toString()) + String.format("%30d", pOrdered) + String.format("%30d", pInStock) + String.format("%30d", pSold) + String.format("%30d", sellingPrice) + String.format("%30d%n", manufPrice); */ return(String.format("%30s%50d%70d%60d%90.2d%70.2d\n", super.toString(), pOrdered, pInStock, pSold, sellingPrice, manufPrice)); } }
When using my main method and trying to push the print button(clean compile) this error comes up:
----jGRASP exec: java InvGUI
Exception in thread "AWT-EventQueue-0" java.util.IllegalFormatPrecisionException: 2
at java.util.Formatter$FormatSpecifier.checkInteger(Formatter.java:2891)
at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2642)
at java.util.Formatter.parse(Formatter.java:2479)
at java.util.Formatter.format(Formatter.java:2413)
at java.util.Formatter.format(Formatter.java:2366)
at java.lang.String.format(String.java:2770)
at Inventory.toString(Inventory.java:72)
at InvGUI$PrintButtonHandler.actionPerformed(InvGUI.java:185)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
----jGRASP: operation complete.