Assign2.pdf Assign2Test.java Assign2Test.java import java.util.Scanner; /** * This class contains Assignment 1 with main method * and create a reference of Inventory class * */...

1 answer below »
Java


Assign2.pdf Assign2Test.java Assign2Test.java import java.util.Scanner; /**  * This class contains Assignment 1 with main method  * and create a reference of Inventory class    *   */ public class Assign2Test {     public static void main(String[] args) {                  //creating object of Inventory class         Inventory test=new Inventory();         //initializing option variable         int option=0;         //creating object of Scanner class         Scanner scan=new Scanner (System.in);         do {             try {//try statement                                             System.out.println( //represent the option menu to read                 "1: Add item to Inventory\r\n" +                 "2: Display current inventory\r\n"+                 "3: Buy item(s)\r\n"+                 "4: Sell items(s)\r\n"+                 "5: Convert ArrayList to Linkedlist and print it\r\n"+                 "6: To exit\r\n");                           System.out.print("> ");//user prompt to enter integer             option = scan.nextInt();         /**switch statement for the different option*/         switch (option) {                  case 1:                  if (!test.addItem(scan))                 System.out.print("Item already exist");                          break;                      case 2:                          System.out.println(test);             break;                  case 3:                          test.buyItem(scan);                          break;                      case 4:         test.sellitem(scan);                          break;                      case 5:             test.printLL();             break;         case 6:             System.out.println("Exiting....");             System.exit(0);             break;                                            default:             System.out.println("Please select a valid selection between 1 - 6");                      }                         }catch (Exception e) {                     System.out.println();                     scan.next();                 }              }while (option!=6);         }//end of main  }//end of class                                                                                                                               FoodItem.JAVA FoodItem.JAVA /**InputMismatchException class*/ import java.util.InputMismatchException; /**Scanner class*/ import java.util.Scanner; /**  * This class contains FoodItem and its items    *   */ public class FoodItem {     /** The item code. */     protected int itemCode;     /** The item name. */      protected String itemName;      /** The item price. */      protected float itemPrice;      /** The item quantity. */      protected int quantityInStock;      /** The item cost. */      protected float itemCost;      /**         * parameterized constructor        * Instantiates a new food item.        * @param itemCode represents item code        * @param itemName represents name of the item        * @param itemPrice represents price of the item        * @param quantityInStock represents the quantity        * @param itemCost represents the cost of the item        */            public FoodItem(int itemCode, String itemName, float itemPrice, int     quantityInStock, float itemCost) {      this.itemCode = itemCode;      this.itemName = itemName;      this.itemPrice = itemPrice;      this.quantityInStock = quantityInStock;      this.itemCost = itemCost;      }      /**         * no-argument constructor        * Instantiates a new food item.        */      public FoodItem() {      this.itemCode = 0;      this.itemName = null;      this.itemPrice = 0.00f;      this.quantityInStock = 0;      this.itemCost = 0.00f;      }            /**method getter to get item code           * @return itemCode          */            public int getItemCode() {                return itemCode; }                      /**method setter to set item code               * @param itemCode represents the code of the item              */            public void setItemCode(int itemCode) {                this.itemCode = itemCode; }            /**method getter to get item name               * @return itemName              */            public String getItemName() {                return itemName; }            /**method setter to set item name               * @param itemName represents the name of the item              */            public void setItemName(String itemName) {               this.itemName =itemName; }            /**method getter to get item price               * @return itemPrice              */            public float getItemPrice() {                return itemPrice; }            /**method setter to set item price               * @param itemPrice represents the price of the item              */            public void setItemPrice(float itemPrice) {                this.itemPrice = itemPrice; }            /**method getter to get quantity               * @return quantityInStock              */            public int getQuantityInStock() {                return quantityInStock; }            /**method setter to set item quantity               * @param quantityInStock represents the code of the item              */            public void setQuantityInStock(int quantityInStock) {                this.quantityInStock = quantityInStock; }            /**method getter to get item cost               * @return itemCost              */            public float getItemCost() {                return itemCost; }            /**method setter to set item cost               * @param itemCost represents the cost of the item              */            public void setItemCost(float itemCost) {                this.itemCost = itemCost; }           /**method to print into String               * @return Item               */       @Override      public String toString() {                                   return "Item:" + this.itemCode + "  " + this.itemName + " " + this.quantityInStock  +" price: $"+ this.itemPrice + " cost: $"+ this.itemCost ;        }//end of toString method      /**        * Method Input code.        *        * @param scan the scanner        * @return true, if successful        */      public boolean inputCode(Scanner scan) {            do {            try {          System.out.print("Enter the code for the item: ");           itemCode = scan.nextInt();           if (itemCode==0)             System.out.print("Invalid entry\n");                     } catch (InputMismatchException e) {                System.out.print("Invalid entry\n");                scan.nextLine();        } }while(itemCode==0);            return true;                                  }//end of inputCode method      /**        * Checks if is equal.        *        * @param code the item        * @return true, if is equal        */      public boolean equals(FoodItem code) {      return this.itemCode==code.itemCode;      }//end of equals method      /**        * Method addItem        *        * @param scan the scanner        * @return true, if successful        */      public boolean  addItem(Scanner scan){                scan.nextLine();      System.out.print("Enter the name of the item: ");//user prompt to enter String       itemName = scan.nextLine();       do {            try {      System.out.print("Enter the quantity of the item: ");//user prompt to enter integer       quantityInStock = scan.nextInt();       if (quantityInStock<=0) checking condition=""         system.out.print("invalid entry\n");=""            } catch (inputmismatchexception e) {=""                    system.out.print("invalid entry\n");//catch exception=""                    scan.nextline();=""><=0);      scan.nextline();=""      do {=""            try {=""      system.out.print("enter the cost of the item: ");//user prompt to enter integer=""       itemcost =" scan.nextFloat();"><=0) checking condition=""         system.out.print("invalid entry\n");=""            } catch (inputmismatchexception e) {//catch exception=""                system.out.print("invalid entry\n");=""                scan.nextline();=""><=0);      do {=""            try {=""      system.out.print("enter the sales price of the item: ");//user prompt to enter integer=""       itemprice =" scan.nextFloat();"><=0) checking condition=""         system.out.print("invalid entry\n");=""  } catch (inputmismatchexception e) {//catch exception=""        system.out.print("invalid entry\n");=""        scan.nextline();=""><=0);      return true;="" }//end of additem method=""     }//end of class="" fruit.java="" fruit.java="" **scanner class*/="" import java.util.scanner;="" **=""  * this class contains fruit and its items and =""  * it extends class fooditem=""  * =""  * =""  */="" public class fruit extends fooditem {=""     /**orchard name*/=""     protected string orchardname;=""      /**=""          * default constructor=""          */=""         public fruit() {=""             //calling no arg constructor of super class by using super keyword=""             super();=""             orchardname =" "";"         }//end of constructor=""         =""      =""      /**method to print into string =""          * override method in super class by using super keyword and=""          * adding orchardname item=""          * @return item =""          */ =""         @override=""         public string tostring() {=""             return super.tostring() + " orchard supplier: " + this.orchardname;=""         }//end of tostring method=""      /**=""        * overriding method additem of the super class by using super=""        * keyword and adding orchard name=""        *=""        * @param scan the scanner=""        * @return true, if successful=""        */=""     @override=""     public boolean additem(scanner scan) {=""         =""         super.additem(scan);=""                 system.out.print("enter the name of the orchard supplier: ");//user prompt to enter string=""             orchardname ="scan.next();"     //  }=""         return true;=""     }//end of additem method=""     }//end of class="" inventory.java="" inventory.java="" **arraylist class*/="" import java.util.arraylist;="" **linkedlist class*/="" import java.util.linkedlist;="" **scanner class*/="" import java.util.scanner;="" **=""  * this class contains inventory in an arraylist and linkedlist=""  =""  * =""  */="" public class inventory {=""     /** arraylist of inventory */=""> inventory;     /** represents the index */     private int index;     /** object of class FoodItem */     private FoodItem food= new FoodItem(); /**default constructor*/        public Inventory() {            inventory=new ArrayList(20);            //inventory=new FoodItem (size);                        food=null;                                }//end of default constructor        /**method to print into String               * @return print              */         @Override        public String toString() {     String print=" ";             for (int i=0; i< inventory.size(); i++) {               =""                =""                if (inventory.get(index).itemcode ="= food.itemCode) {"                    index =" i;"                    break;=""                }=""            }//end of for loop=""            return index;=""        }//end of alreadyexists method=""        =""        /**=""            * method additem=""            *=""            * @param scan the scanner=""            * @return true, if successful=""            */=""        public boolean additem(scanner scan) {=""            string choice="null;"            do {=""                try {=""                    =""                    =""                   =""                  =""            system.out.print("do you wish to add a fruit(f), vegetable(v), sweetener (s) or a preserve(p)?:  ");//user prompt to enter string=""              choice =" scan.next();      "                   switch (choice.tolowercase()) { =""                   case "f": =""                 food =" new Fruit(); //creating object of Fruit "                   break; =""                   case "v": =""                       food =" new Vegetable();//creating object of Vegetable"                       break; =""                   case "s":=""                       food="new Sweetener();//creating object of Sweetener"                       break;=""                       case "p": =""                           food =" new Preserve(); //creating object of Preserve"                           break; =""             =""                          =""                           default: =""                               system.out.print("invalid entry\n");=""                   }=""                   =""             =""                     food.inputcode(scan);=""                        boolean flag="false;"                   =""                   =""                     for (fooditem fooditem : inventory) {//checking if itemcode is in inventory=""                         if (fooditem.itemcode="=food.itemCode) {"                             food="foodItem;"                             flag="true;"                         }=""                     }=""                     =""                     if (flag="=true) {//if itemCode is inventory"                         system.out.print("item already exist\n");=""                     }else {//if not creating item=""                         inventory.add(food); =""                         food.additem(scan);=""                     }                 ="" break;=""                      =""               =""                }catch (nullpointerexception npe) {=""                    =""                }catch (indexoutofboundsexception iob) {=""                    =""                }=""              =""            =""            }while(choice!="f" &&choice!="v" &&choice!="p" &&choice!="s" );   //checking condition is true=""         return true;=""        }//end of additem method=""        /**=""            * method buyitem checks if the item code is valid =""            * then buy quantity=""            *=""            * @param scan the scanner=""            * =""            */=""      public void buyitem(scanner scan) {=""      system.out.println("enter valid item code: ");=""      int code =" scan.nextInt();"      boolean response =" false;"      fooditem result =" null;"      for (object o : inventory) {=""      if (((fooditem) o).getitemcode() ="= code) {"      result =" (FoodItem) o;"      response =" true;"      }=""      }=""      if (response) {=""      system.out.print("enter valid quantity to buy: ");=""      int quantity =" scan.nextInt();"      if (quantity ="">= 1 && result.getQuantityInStock() >= quantity) {      int old = result.getQuantityInStock();      result.setQuantityInStock(old + quantity);      System.out.println("Item buyed");      } else {      System.out.println("Invalid quantity...\n" +      "Error...could not buy item");      }      } else {      System.out.println("Code not found in inventory...\n" +      "Error...could not buy item");      }      }//end of buyItem method      /**        * Method printLL to print LinkedList object        * then buy quantity        *        *         *         */      public void printLL() {      LinkedList ll = new LinkedList();      System.out.print("Inventory in Linked List:\n");      for (Object o : inventory) {      ll.add(o);      }      for (Object o : ll) {      System.out.print(o + " \n ");      }      System.out.println();      }//end of printLL method      /**        * Method sellitem checks if the item code is valid         * then sell quantity        *        * @param scan the scanner        *         */      public void sellitem(Scanner scan) {      System.out.println("Enter valid item code: ");            int code = scan.nextInt();      boolean response = false;      FoodItem result = null;      for (Object o : inventory) {      if (((FoodItem) o).getItemCode() == code) {      result = (FoodItem) o;      response = true;      }      }      if (response) {      System.out.print("Enter valid quantity to sell: ");      int quantity = scan.nextInt();      if (quantity <= 0) {      system.out.println("invalid quantity...\n" +=""      "error...could not sell item");=""      } else if (result.getquantityinstock() ="">= quantity) {      int old = result.getQuantityInStock();      result.setQuantityInStock(old - quantity);      System.out.println("Item buyed");      } else {      System.out.println("Insufficient stock in inventory...\n" +      "Error...could not sell item");      }      } else {      System.out.println("Code not found in inventory...\n" +      "Error...could not buy item");      }      }//end of sell item method     }//end of class Preserve.java Preserve.java /**InputMismatchException class*/ import java.util.InputMismatchException; /**Scanner class*/ import java.util.Scanner; /** * This class contains Preserve and its items and  * it extends class FoodItem *  */ public class Preserve extends FoodItem{     /**size of the jar*/     private int jarSize;     /**      * Default Constructor      */     public Preserve() {         super();         jarSize = 0;     }//end of default constructor           /**method to print into String           * override method in super class by using super keyword and          * adding jarSize item          * @return Item           */          @Override         public String toString() {             return super.toString() + " size: " + jarSize + "mL";         }//end of toString method               /**            * Overriding Method addItem of the super class by using super            * keyword and adding jar size             *            * @param scan the scanner            * @return true, if successful            */         @Override         public boolean addItem(Scanner scan) {             boolean valid = false;             if (super.addItem(scan)) {                          if (!valid) {                     do {                         try {                     System.out.print("Enter the size of the jar in millilitres: ");                                                                 //user prompt to enter integer                     jarSize = scan.nextInt();                         if (jarSize<=0) checking condition=""                             system.out.print("invalid entry\n");=""                            } catch (inputmismatchexception e) {//catch exception=""                                system.out.print("invalid entry\n");=""                                scan.nextline();=""><=0);                     return true;                 }             }             return true;         }//end of additem method                }//end of class sweetener.java sweetener.java /**scanner class*/ import java.util.scanner; /**  * this class contains sweetener and it's items and   * it extends class fooditem    *   */ public class sweetener extends fooditem {      /** the farm name string farmname. */         protected string farmname; // input [name of supplier]                  /**default constructor*/         public sweetener() {             //calling default constructor of super class by using super keyword             super();             farmname = "";                                                }//end of default constructor         /**method to print into string           * override method in super class by using super keyword and          * adding farmname item          * @return item           */          @override         public string tostring() {             return super.tostring() + " sweetener supplier: " + farmname;         }//end of tostring method         /**            * overriding method additem of the super class by using super            * keyword and adding farm name            *            * @param scan the scanner            * @return true, if successful            */         @override         public boolean additem( scanner scan) {              boolean isvalid = false;                 if (super.additem(scan)) {                     if (!isvalid)                         system.out.print("enter the name of the farm supplier: ");//user prompt to enter integer                     farmname = scan.next();                 }                 return true;                  }//end of additem method          }//end of class vegetable.java vegetable.java /**scanner class*/ import java.util.scanner; /**  * this class contains vegetable and it's items and   * it extends class fooditem    *   */ public class vegetable extends fooditem { protected string farmname; // input [name of supplier]          /**default constructor*/     public vegetable() { //calling default constructor of super class by using super keyword         super();         farmname = "";                                }//end of default constructor     /**method to print into string       * override method in super class by using super keyword and      * adding farmname item      * @return item       */      @override     public string tostring() {         return super.tostring() + " farm name: " + farmname;     }//end of tostring method     /**        * overriding method additem of the super class by using super        * keyword and adding farm name        *        * @param scan the scanner        * @return true, if successful        */     @override     public boolean additem( scanner scan) {          boolean isvalid = false;             if (super.additem(scan)) {                 if (!isvalid)                     system.out.print("enter the name of the farm supplier: ");//user prompt to enter string                 farmname = scan.next();             }             return true;          }//end of additem method               }//end of class                     return true;=""                 }=""             }=""             return true;=""         }//end of additem method=""      =""     =""     }//end of class="" sweetener.java="" sweetener.java="" **scanner class*/="" import java.util.scanner;="" **=""  * this class contains sweetener and it's items and =""  * it extends class fooditem=""  =""  * =""  */="" public class sweetener extends fooditem {=""      /** the farm name string farmname. */=""         protected string farmname; // input [name of supplier]=""         =""         /**default constructor*/=""         public sweetener() {=""             //calling default constructor of super class by using super keyword=""             super();=""             farmname =" "";"             =""             =""             =""         }//end of default constructor=""         /**method to print into string =""          * override method in super class by using super keyword and=""          * adding farmname item=""          * @return item =""          */ =""         @override=""         public string tostring() {=""             return super.tostring() + " sweetener supplier: " + farmname;=""         }//end of tostring method=""         /**=""            * overriding method additem of the super class by using super=""            * keyword and adding farm name=""            *=""            * @param scan the scanner=""            * @return true, if successful=""            */=""         @override=""         public boolean additem( scanner scan) {=""              boolean isvalid =" false;"                 if (super.additem(scan)) {=""                     if (!isvalid)=""                         system.out.print("enter the name of the farm supplier: ");//user prompt to enter integer=""                     farmname =" scan.next();"                 }=""                 return true;=""             =""     }//end of additem method=""     =""     }//end of class="" vegetable.java="" vegetable.java="" **scanner class*/="" import java.util.scanner;="" **=""  * this class contains vegetable and it's items and =""  * it extends class fooditem=""  =""  * =""  */="" public class vegetable extends fooditem {="" protected string farmname; // input [name of supplier]=""     =""     /**default constructor*/=""     public vegetable() {="" calling default constructor of super class by using super keyword=""         super();=""         farmname =" "";"         =""         =""         =""     }//end of default constructor=""     /**method to print into string =""      * override method in super class by using super keyword and=""      * adding farmname item=""      * @return item =""      */ =""     @override=""     public string tostring() {=""         return super.tostring() + " farm name: " + farmname;=""     }//end of tostring method=""     /**=""        * overriding method additem of the super class by using super=""        * keyword and adding farm name=""        *=""        * @param scan the scanner=""        * @return true, if successful=""        */=""     @override=""     public boolean additem( scanner scan) {=""          boolean isvalid =" false;"             if (super.additem(scan)) {=""                 if (!isvalid)=""                     system.out.print("enter the name of the farm supplier: ");//user prompt to enter string=""                 farmname =" scan.next();"             }=""             return true;=""         ="" }//end of additem method=""     =""     ="">
Answered 4 days AfterMar 23, 2021

Answer To: Assign2.pdf Assign2Test.java Assign2Test.java import java.util.Scanner; /**...

Kshitij answered on Mar 27 2021
158 Votes
Inventory System/Base class/FoodItem.java
Inventory System/Base class/FoodItem.java
/*   Created by IntelliJ IDEA.
 *   Author: Kshitij Varshney (kshitijvarshne1)
 *   Date: 27-Mar-21
 *   Time: 12:59 PM
 *   File: FoodItem.java
 */
package March.mar27_21.BaseClass;
import java.util.Scanner;
public class FoodItem {private int itemCode;
    private String itemName;
    private float itemPrice;
    private int quantityInStock;
    private float itemCost;
    private String expiryDate;
 public FoodItem(int itemCode, String itemName, float itemPrice, int quantityInStock, float itemCost, String expiryDate) {
        this.itemCode = itemCode;
        this.itemName = itemName;
        this.itemPrice = itemPrice;
        this.quantityInStock = quantityInStock;
        this.itemCost = itemCost;
        this.expiryDate = expiryDate;
    }
    public FoodItem() {
        this.itemCode = 0;
        this.itemName = null;
        this.itemPrice = 0;
        this.quantityInStock = 0;
        this.itemCost = 0;
        this.expiryDate=null;
    }
    public int getItemCode() {
        return itemCode;
    }
    public void setItemCode(int itemCode) {
        this.itemCode = itemCode;
    }
    public String getItemName() {
        return itemName;
    }
    public void setItemName(String itemName) {
        this.itemName = itemName;
    }
    public float getItemPrice() {
        return itemPrice;
    }
    public void setItemPrice(float itemPrice) {
        this.itemPrice = itemPrice;
    }
    public int getQuantityInStock() {
        return quantityInStock;
    }
    public void setQuantityInStock(int quantityInStock) {
        this.quantityInStock = quantityInStock;
    }
    public float getItemCost() {
        return itemCost;
    }
    public void setItemCost(float itemCost) {
        this.itemCost = itemCost;
    }
    public String getExpiryDate() {
        return expiryDate;
    }
    public void setExpiryDate(String expiryDate) {
        this.expiryDate = expiryDate;
    }
    @Override
    public String toString() {
        return "itemCode=" + itemCode +
                ", itemName='" + itemName + '\'' +
                ", itemPrice= $" + itemPrice +
                ", quantityInStock=" + quantityInStock +
                ", itemCost= $" + itemCost +
                ", expiryDate= " + expiryDate +" , ";
    }
    public boolean equals(int code) {
        return this.getItemCode()==code;
    }
    public FoodItem addItem(int itemCode){
        Scanner sc= new Scanner(System.in);
        System.out.println("Enter the name for the item: ");
        String itemName = sc.next();
        System.out.println("Enter the quantity for the item: ");
        int quantityInStock= sc.nextInt();
        System.out.println("Enter the cost of the item: ");
        int itemCost = sc.nextInt();
        System.out.println("Enter the sell price of the item: ");
        int itemPrice= sc.nextInt();
        System.out.println("Enter the expiry date (yyyy-mm-dd)");
        sc.nextLine();
        String expiryDate = sc.nextLine();
        String finalDate=null;
        if(expiryDate.length()!=10){
            finalDate="No expiry";
        }
        else{
            finalDate=expiryDate;
        }
        FoodItem obj = new FoodItem(itemCode,itemName,itemPrice,quantityInStock,itemCost,finalDate);
        return obj;
    }
}
Inventory System/Base class/FruitItem.java
Inventory System/Base class/FruitItem.java
/*   Created by IntelliJ IDEA.
 *   Author: Kshitij Varshney (kshitijvarshne1)
 *   Date: 27-Mar-21
 *   Time: 1:00 PM
 *   File: FruitItem.java
 */
package March.mar27_21.BaseClass;
import java.util.Scanner;
public class FruitItem extends FoodItem {private String orchardname;
    public FruitItem(int itemCode, String itemName, float itemPrice, int quantityInStock, float itemCost, String expiryDate, String orchardname) {
        super(itemCode, itemName, itemPrice, quantityInStock, itemCost, expiryDate);
        this.orchardname = orchardname;
    }
    public FruitItem(String orchardname) {
        this.orchardname = orchardname;
    }
    public FruitItem() {
        this.orchardname = null;
    }
    public String getOrchardname() {
        return orchardname;
    }
    public void setOrchardname(String orchardname) {
        this.orchardname = orchardname;
    }
    @Override
    public String toString() {
        return super.toString()+" orchardname= " + orchardname + " }";
    }
    public FruitItem addItem(FoodItem obj){
        System.out.println("Enter the name of the orchard supplier: ");
        Scanner sc= new Scanner(System.in);
        this.orchardname = sc.nextLine();
        FruitItem ftBucket = new FruitItem(obj.getItemCode(),obj.getItemName(),obj.getItemPrice(),obj.getQuantityInStock(),obj.getItemCost(),obj.getExpiryDate(),this.orchardname);
        return ftBucket;
    }
}
Inventory System/Base class/Inventory.java
Inventory System/Base...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here