Inventory Management System objective Work with multiple obj

Inventory Management System objective: Work with multiple objects and review reading data files. Description: A wholesale distributor has six warehouses (Atlanta, Baltimore, Chicago, Denver, Ely and Fargo) and sells five different items (identified by part number: 102, 215, 410, 525 and 711). Each warehouse may stock any or all of the five items. The company buys and sells these items constantly. Company transaction records contain a transaction code (P\" for a purchase or \'S\' for a sale) followed by an item number and the quantity (bought or sold). The transaction records are contained in a transaction data file named Transactions.txt. Sample transaction records Transactions.txt P 410 1000 S 215 120 S 711 300 A separate data file contains the initial status of the six warehouses at the beginning of the day (i.e., the ending status from the night before). This data file has only six records (lines). Each record (line) contains five numbers that show the quantity on hand for the five items in that warehouse. This file is named inventory.txt. Sample status data file: Inventory.txt 500 120 60 0 350 100 230 0 500 0 75 00 220 600 50 120 300 40 210 160 30 80 500 90 50 90 200 70 The status data file is updated by processing the transaction records in the transaction data file according to these rules

Solution

driver.java

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.*;

public class driver {


   public static void main(String[] args) {

       try
       {
           File file = new File(\"Inventory.txt\");
           String line;
           FileReader fileReader = new FileReader(file);
           BufferedReader bufferedReader = new BufferedReader(fileReader);

           line = bufferedReader.readLine();
           String[] parts = line.split(\" \");
           int i1 = Integer.parseInt(parts[0]);
           int i2 = Integer.parseInt(parts[1]);
           int i3 = Integer.parseInt(parts[2]);
           int i4 = Integer.parseInt(parts[3]);
           int i5 = Integer.parseInt(parts[4]);
           warehouse wh1 = new warehouse(\"Atlanta\",i1,i2,i3,i4,i5);

           line = bufferedReader.readLine();
           parts = line.split(\" \");
           i1 = Integer.parseInt(parts[0]);
           i2 = Integer.parseInt(parts[1]);
           i3 = Integer.parseInt(parts[2]);
           i4 = Integer.parseInt(parts[3]);
           i5 = Integer.parseInt(parts[4]);
           warehouse wh2 = new warehouse(\"baltimo\",i1,i2,i3,i4,i5);

           line = bufferedReader.readLine();
           parts = line.split(\" \");
           i1 = Integer.parseInt(parts[0]);
           i2 = Integer.parseInt(parts[1]);
           i3 = Integer.parseInt(parts[2]);
           i4 = Integer.parseInt(parts[3]);
           i5 = Integer.parseInt(parts[4]);
           warehouse wh3 = new warehouse(\"chicago\",i1,i2,i3,i4,i5);

           line = bufferedReader.readLine();
           parts = line.split(\" \");
           i1 = Integer.parseInt(parts[0]);
           i2 = Integer.parseInt(parts[1]);
           i3 = Integer.parseInt(parts[2]);
           i4 = Integer.parseInt(parts[3]);
           i5 = Integer.parseInt(parts[4]);
           warehouse wh4 = new warehouse(\"denver\",i1,i2,i3,i4,i5);

           line = bufferedReader.readLine();
           parts = line.split(\" \");
           i1 = Integer.parseInt(parts[0]);
           i2 = Integer.parseInt(parts[1]);
           i3 = Integer.parseInt(parts[2]);
           i4 = Integer.parseInt(parts[3]);
           i5 = Integer.parseInt(parts[4]);
           warehouse wh5 = new warehouse(\"Ely\",i1,i2,i3,i4,i5);

           line = bufferedReader.readLine();
           parts = line.split(\" \");
           i1 = Integer.parseInt(parts[0]);
           i2 = Integer.parseInt(parts[1]);
           i3 = Integer.parseInt(parts[2]);
           i4 = Integer.parseInt(parts[3]);
           i5 = Integer.parseInt(parts[4]);
           warehouse wh6 = new warehouse(\"fargo\",i1,i2,i3,i4,i5);
           fileReader.close();
  
           file = new File(\"Transactions.txt\");
           fileReader = new FileReader(file);
           bufferedReader = new BufferedReader(fileReader);
           while(true)
           {
               String line1 = bufferedReader.readLine();
               if(line1 == null)
               {
                   break;
               }
               parts = line1.split(\" \");
               String ss = parts[0];
               int item_num = Integer.parseInt(parts[1]);
               int tmp = Integer.parseInt(parts[2]);
               if(ss.equals(\"P\"))
               {
                   //find ware house with mininum items
                   int item = 0;
                   if(item_num == 102)
                   {
                       item = 0;
                   }
                   else if(item_num == 215)
                   {
                       item = 1;
                   }
                   else if(item_num == 410)
                   {
                       item = 2;
                   }
                   else if(item_num == 525)
                   {
                       item = 3;
                   }
                   else
                   {
                       item = 4;
                   }

                   int whouse_mith_min_items = 1;
                   int tmp_min = wh1.items[item];
                   if(wh1.items[item] < tmp_min)
                   {
                       tmp_min = wh1.items[item];
                       whouse_mith_min_items = 1;
                   }
                   if(wh2.items[item] < tmp_min)
                   {
                       tmp_min = wh2.items[item];
                       whouse_mith_min_items = 2;
                   }
                   if(wh3.items[item] < tmp_min)
                   {
                       tmp_min = wh3.items[item];
                       whouse_mith_min_items = 3;
                   }
                   if(wh4.items[item] < tmp_min)
                   {
                       tmp_min = wh4.items[item];
                       whouse_mith_min_items = 4;
                   }
                   if(wh5.items[item] < tmp_min)
                   {
                       tmp_min = wh5.items[item];
                       whouse_mith_min_items = 5;
                   }
                   if(wh6.items[item] < tmp_min)
                   {
                       tmp_min = wh6.items[item];
                       whouse_mith_min_items = 6;
                   }

                   if(whouse_mith_min_items == 1){wh1.items[item] = wh1.items[item] + tmp;}
                   else if(whouse_mith_min_items == 2){wh2.items[item] = wh2.items[item] + tmp;}  
                   else if(whouse_mith_min_items == 3){wh3.items[item] = wh3.items[item] + tmp;}  
                   else if(whouse_mith_min_items == 4){wh4.items[item] = wh4.items[item] + tmp;}  
                   else if(whouse_mith_min_items == 5){wh5.items[item] = wh5.items[item] + tmp;}  
                   else if(whouse_mith_min_items == 6){wh6.items[item] = wh6.items[item] + tmp;}  
               }
               else
               {
                   //find ware house with max items
                   int item = 0;
                   if(item_num == 102)
                   {
                       item = 0;
                   }
                   else if(item_num == 215)
                   {
                       item = 1;
                   }
                   else if(item_num == 410)
                   {
                       item = 2;
                   }
                   else if(item_num == 525)
                   {
                       item = 3;
                   }
                   else
                   {
                       item = 4;
                   }
                   int whouse_mith_min_items = 1;

                   int tmp_min = wh1.items[item];
                   if(wh1.items[item] > tmp_min)
                   {
                       tmp_min = wh1.items[item];
                       whouse_mith_min_items = 1;
                   }
                   if(wh2.items[item] > tmp_min)
                   {
                       tmp_min = wh2.items[item];
                       whouse_mith_min_items = 2;
                   }
                   if(wh3.items[item] > tmp_min)
                   {
                       tmp_min = wh3.items[item];
                       whouse_mith_min_items = 3;
                   }
                   if(wh4.items[item] > tmp_min)
                   {
                       tmp_min = wh4.items[item];
                       whouse_mith_min_items = 4;
                   }
                   if(wh5.items[item] > tmp_min)
                   {
                       tmp_min = wh5.items[item];
                       whouse_mith_min_items = 5;
                   }
                   if(wh6.items[item] > tmp_min)
                   {
                       tmp_min = wh6.items[item];
                       whouse_mith_min_items = 6;
                   }

                   if(whouse_mith_min_items == 1){wh1.items[item] = wh1.items[item] - tmp;}
                   else if(whouse_mith_min_items == 2){wh2.items[item] = wh2.items[item] - tmp;}  
                   else if(whouse_mith_min_items == 3){wh3.items[item] = wh3.items[item] - tmp;}  
                   else if(whouse_mith_min_items == 4){wh4.items[item] = wh4.items[item] - tmp;}  
                   else if(whouse_mith_min_items == 5){wh5.items[item] = wh5.items[item] - tmp;}  
                   else if(whouse_mith_min_items == 6){wh6.items[item] = wh6.items[item] - tmp;}  
               }
           }
           wh1.display();wh2.display();
           wh3.display();wh4.display();
           wh5.display();wh6.display();
       }
       catch (IOException e)
       {
           e.printStackTrace();
       }
   }
}

warehouse.java


public class warehouse
{
public String name ;
public int items[] = new int[5];

public warehouse(String name, int a1, int a2, int a3, int a4, int a5) {
this.name = name;
this.items[0] = a1;
this.items[1] = a2;
this.items[3] = a4;
this.items[4] = a5;
this.items[2] = a3;
}
public warehouse() {
this.name = \"\";
this.items[0] = 0;
this.items[1] = 0;
this.items[3] = 0;
this.items[4] = 0;
this.items[2] = 0;
}
void display()
{
   System.out.println(this.name + \"\\t\\t\"+ this.items[0] + \"\\t\" + this.items[1] + \"\\t\" + this.items[2] + \"\\t\"+ this.items[3]+ \"\\t\" + this.items[4]);
}

}

Inventory.txt

100 100 100 100 100
200 200 200 200 100
300 300 300 300 100
400 400 400 400 100
500 500 500 500 100
600 50 600 600 100

Transactions.txt

S 215 100
P 215 250
S 215 100
P 215 250

Output:

Atlanta       100   350   100   100   100
baltimo       200   200   200   200   100
chicago       300   300   300   300   100
denver       400   300   400   400   100
Ely       500   400   500   500   100
fargo       600   300   600   600   100

 Inventory Management System objective: Work with multiple objects and review reading data files. Description: A wholesale distributor has six warehouses (Atlan
 Inventory Management System objective: Work with multiple objects and review reading data files. Description: A wholesale distributor has six warehouses (Atlan
 Inventory Management System objective: Work with multiple objects and review reading data files. Description: A wholesale distributor has six warehouses (Atlan
 Inventory Management System objective: Work with multiple objects and review reading data files. Description: A wholesale distributor has six warehouses (Atlan
 Inventory Management System objective: Work with multiple objects and review reading data files. Description: A wholesale distributor has six warehouses (Atlan

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site