Westonci.ca is your trusted source for accurate answers to all your questions. Join our community and start learning today! Discover a wealth of knowledge from professionals across various disciplines on our user-friendly Q&A platform. Our platform offers a seamless experience for finding reliable answers from a network of knowledgeable professionals.

Write the Java code to simulate an inventory control system and a point of sale system with customer history On program start, each inventory item's data is read from the inventory file, placed in a new item class object, which is then placed in the inventory ArrayList. The ArrayList should be a field in the purchasing class (see below). The inventory data consists of the following fields. Only the last three data fields (ns listed here) should be modifiable after the object is created. A constructor will accept parameters for each of the fields, (a) The item's name (b) The item's.com (c) The current quantity of the item on-hand (d) The number of times the item has been purchased (e) The number of times the item hus been returned. After the inventory is processed, each existing customer's data is read from the customer file, pleced in a new item class object, which is then placed into the customer ArrayLut The ArrayList should be a local variable in the main method. The customer data consists of the following fields. All data in the customer clues should be modifiable based on the details given later. A constructor will accept parameters for each of the field (1) The customer's name (b) The customer's balance (positive balance indicates the customer has funda avul able to spend, and negative balance indicates the customer cwmoney) c) The customer's purchase history populated by a list of inventory item references from the inventory ArrayList. The history is stored in the customer file as a lint of inventory name along with the number of purchased items (d) The customer's shopping cart initially empty and not stored in the customer file. but alno populated by a list of inventory item references A purchasing class object contain the following methods for manipulating the ventory Armalist and a pied customer object. Each method will update the listed properti. A defnult constructor will create an instance of the inventory ArrayList and the value for a restocking for () Add an item to shopping cart (Inventory quantity customer shopping out) The castomer is pated with a lot of available items and more on selection. The men of ieme shown to the wet in generated from the ArrayList of kventory Item W Anong there is a lot one of item oond the item selected to "I decreased in the story Art The cutomer intend chose to not select an item to place in the Ert (6) Remove it from shopping cart (inventory: quantity, customer shopping Cart The customer in prented with the contents of the shoppies out it. The item selected is removed from the customer's eart ArrayList and the quantity on-band is increased in the inventory ArrayList. iii. The customer may instead choose to keep the contents of the cart. (e) Purchase items in a shopping cart (Inventory purchase count; enstomer balance, purchase history, shopping cart) 1. Print (to the terminal) a receipt listing the cart items. This includes the name and cont of ach item, plus the total cost of all items. If there are no items in the eart, it is not printed . Increase the purchase count of the items in the inventory ArrayList Deduct the shopping cart total from the customer's balance iv. Add the items to the customer's purchase history v. Empty the shopping cart ArrayList 1. Replace the data in the inventory file with the data currently in the in ventory ArrayList (te, the inventory file is updated so that it is correct) vil. Replace the data in the customer file with the data currently in the cu tomer ArrayList (le, the customer file is updated so that it is correct (d) Return an with restocking fee (ventory: quantity, return bout tomer balance purchase history) Print (to the terminal listing of the purch history. This includes the name and cost of each item. If there are no items in the purch history, alting is not printed Increase the return count of the selected items in the ventory Array i Mid the cost of the returned item to the customer's balance in testocking for iv. Remove the returned item from the customer's purchase history v. Replace the data in the inventory file with the data currently in the Inventory ArrayLin vi. Replace the data in the customer file with the data currently in the cus tomer ArrayList in the customer file is updated so that it is correct)

Sagot :

Answer:

the code isnt complete but you get the idea ,just complete it. All the major method and classes have been written but go ahead and see if it works.Do consider giving brainliest if this ans helped you.

Explanation:

class InventoryItem

{

       private String name;

       private double cost;

       private int currqnt;

       private int itempur;

       private int itemret;

       InventoryItem(String name, double cost, int curr, int pur, int ret)

       {

               this.name=name;

               this.cost=cost;

               this.currqnt=curr;

               this.itempur=pur;

               this.itemret=ret;

       }

       public String getName()

       {

               return this.name;

       }

       public double getCost()

       {

               return this.cost;

       }

       public int getCurrQnt()

       {

               return this.currqnt;

       }

       public int getItemPur()

       {

               return this.itempur;

       }

       public int getItemRet()

       {

               return this.itemret;

       }

}

class Customer

{

       private String name;

       private double balance;

       private ArrayList<InventoryItem> purhist;

       private ArrayList<InventoryItem> cart;

       Customer(String name, double bal, ArrayList<InventoryItem> hist, ArrayList<InventoryItem> cart)

       {

               this.name=name;

               this.balance=bal;

               this.purhist=pur;

               this.cart=cart;

       }

       public String getName()

       {

               return this.name;

       }

       public double getBalance()

       {

               return this.balance;

       }

       public ArrayList<InventoryItem> getPurHist()

       {

               return this.purhist;

       }

       public ArrayList<InventoryItem> getCart()

       {

               return this.cart;

       }

       public void setPurHist(ArrayList<InventoryItem> it)

       {

               for(InventoryItem in: this.cart)

               {

                       this.purhist.add(in);

               }

               this.setCart(null,0);

       }

       public void setCart(ArrayList<InventoryItem> it,  int i)

       {

               if(it==null)

                       this.cart=null;

               int j=0;

               for(InventoryItem in: it)

               {

                       if(i==j)

                       {

                               if(this.getBalance()>=in.getCost())

                               {

                                       this.cart.add(in);

                               }

                       }

                       j++;

               }

       }

}

class Purchasing

{

       public void addItem(ArrayList<InventoryItem> it, Customer c)

       {

               System.out.println("inventory list is, x to leave");

               int i=0;

               for(InventoryList inv: it)

               {

                       System.out.println((i+1)+": "+inv.getName()+" "+inv.getCost()+" "+inv.getCurrQnt());

                       i++;

               }

               int choice = scr.nextInt();

               c.setCart(it, choice-1);

       }

       public void removeItem(ArrayList<InventoryItem> it, Customer c)

       {

               System.out.println("inventory list is, x to leave");

               int i=0;

               for(InventoryList inv: it)

               {

                       System.out.println((i+1)+": "+inv.getName()+" "+inv.getCost()+" "+inv.getCurrQnt());

                       i++;

               }

               int choice = scr.nextInt();

               it.remove(choice);

       }

       public void purchaseItem(InventoryItem it, Customer c)

       {

               c.setPurHist();

       }

       public void returnItem(InventoryItem it, Customer c)

       {

               System.out.println("purchase history list is, x to leave");

               int i=0;

               for(InventoryList inv: c.getPurHist())

               {

                       System.out.println((i+1)+": "+inv.getName()+" "+inv.getCost()+" "+inv.getCurrQnt());

                       i++;

               }

               int choice = scr.nextInt();

               c.getPurHist().remove(choice);

       }

       public static void main(String[] args)

       {

               Scanner scr=new Scanner(System.in);

               ArrayList<InventoryItem> inven = new ArrayList<InventoryItem>();

               ArrayList<Customer>L cust = new ArrayList<Customer>();

               System.out.println("Enter your name");

               String name=scr.nextLine();

               Customer obj=null;

               for(Customer c: cust)

               {

                       if(c.getName().equals(name))

                       {

                               obj = new Customer(c.getName(), c.getBalance(), c.getPurHist(), c.getCart());

                               break;

                       }

               }

               if(obj==null)

               {

                       obj = new Customer(name, 0.0, null, null);

               }

               System.out.println("Enter choice");

               System.out.println("a - add an item");

               System.out.println("b - remove an item");

               System.out.println("c - purchase items");

               System.out.println("d - return an item");

               char choice = scr.nextChar();

               switch(choice)

               {

                       case 'a':

                               addItem();

                               break;

                       case 'b':

                               removeItem();

                               break;

                       case 'c':

                               purchaseItem();

                               break;

                       case 'd':

                               returnItem();

                               break;

               }

       }

}

Thank you for visiting our platform. We hope you found the answers you were looking for. Come back anytime you need more information. Thank you for choosing our platform. We're dedicated to providing the best answers for all your questions. Visit us again. Get the answers you need at Westonci.ca. Stay informed with our latest expert advice.