SlideShare a Scribd company logo
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 + "tt"+ 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

More Related Content

PDF
Warehouse InventoriesObjectiveWork with multiple objects and re.pdf
PPT
Array ajjh jhjhj jhjhj jhjhjh jhj jhjhjh
DOCX
Please answer the 4 questions using C- The expected output is shown be.docx
DOCX
Write a program to find the number of comparisons using the binary se.docx
PPTX
Explorando el Diseño de la Memoria en Rust
PDF
C++ Searching & Sorting5. Sort the following list using the select.pdf
PDF
For this lab you will complete the class MyArrayList by implementing.pdf
Warehouse InventoriesObjectiveWork with multiple objects and re.pdf
Array ajjh jhjhj jhjhj jhjhjh jhj jhjhjh
Please answer the 4 questions using C- The expected output is shown be.docx
Write a program to find the number of comparisons using the binary se.docx
Explorando el Diseño de la Memoria en Rust
C++ Searching & Sorting5. Sort the following list using the select.pdf
For this lab you will complete the class MyArrayList by implementing.pdf

More from fashiongallery1 (20)

PDF
Discuss the character and impact of the economic and legal revouluti.pdf
PDF
Discrete Math -Use induction to prove. The city of Inductionapolis.pdf
PDF
Describe polarization and why it is important to WLANs.Solution.pdf
PDF
Describe the four basic elements of most communication systems.So.pdf
PDF
Can someone please help me figure out how to do this Required Resou.pdf
PDF
Assume that the Current Assets for Shine Co. as of Decebmer 31, 2011.pdf
PDF
All computer are configured for TCPIP connectivity. This exercise i.pdf
PDF
4. At what temperature will a solution of 8.27 g CaCl2 in 45.0 g H2.pdf
PDF
Briefly Explain all these points belowA. Marketing channels VS cha.pdf
PDF
Write a class that implements the BagInterface. BagInterface should .pdf
PDF
write an equation for the transformation of the graph of y =f(x) tra.pdf
PDF
Using c++Im also using a the ide editor called CodeLiteThe hea.pdf
PDF
Why are helper T-cells called helper cellsThey help pathogens i.pdf
PDF
Which of the following is NOT true of the Sons of Liberty a. New Yor.pdf
PDF
What made the Later Roman Economy so unstable (Bennette, Medieval E.pdf
PDF
What data would illustrate whether these underlying problems are occ.pdf
PDF
1. What are distinct characteristics of baby boomers, generation X, .pdf
PDF
VERSION The cells denoted by the letter Ain the figure to.pdf
PDF
Using standard libraries like stdio and sdtlib.h and using stats.h a.pdf
PDF
The __________ is the preeminent organization for developing and pub.pdf
Discuss the character and impact of the economic and legal revouluti.pdf
Discrete Math -Use induction to prove. The city of Inductionapolis.pdf
Describe polarization and why it is important to WLANs.Solution.pdf
Describe the four basic elements of most communication systems.So.pdf
Can someone please help me figure out how to do this Required Resou.pdf
Assume that the Current Assets for Shine Co. as of Decebmer 31, 2011.pdf
All computer are configured for TCPIP connectivity. This exercise i.pdf
4. At what temperature will a solution of 8.27 g CaCl2 in 45.0 g H2.pdf
Briefly Explain all these points belowA. Marketing channels VS cha.pdf
Write a class that implements the BagInterface. BagInterface should .pdf
write an equation for the transformation of the graph of y =f(x) tra.pdf
Using c++Im also using a the ide editor called CodeLiteThe hea.pdf
Why are helper T-cells called helper cellsThey help pathogens i.pdf
Which of the following is NOT true of the Sons of Liberty a. New Yor.pdf
What made the Later Roman Economy so unstable (Bennette, Medieval E.pdf
What data would illustrate whether these underlying problems are occ.pdf
1. What are distinct characteristics of baby boomers, generation X, .pdf
VERSION The cells denoted by the letter Ain the figure to.pdf
Using standard libraries like stdio and sdtlib.h and using stats.h a.pdf
The __________ is the preeminent organization for developing and pub.pdf
Ad

Recently uploaded (20)

PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Institutional Correction lecture only . . .
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Complications of Minimal Access Surgery at WLH
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Lesson notes of climatology university.
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
O5-L3 Freight Transport Ops (International) V1.pdf
Institutional Correction lecture only . . .
Microbial disease of the cardiovascular and lymphatic systems
Complications of Minimal Access Surgery at WLH
O7-L3 Supply Chain Operations - ICLT Program
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
Microbial diseases, their pathogenesis and prophylaxis
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
human mycosis Human fungal infections are called human mycosis..pptx
01-Introduction-to-Information-Management.pdf
Final Presentation General Medicine 03-08-2024.pptx
Abdominal Access Techniques with Prof. Dr. R K Mishra
STATICS OF THE RIGID BODIES Hibbelers.pdf
Lesson notes of climatology university.
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Ad

Inventory Management System objective Work with multiple objects and.pdf

  • 1. 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]);
  • 2. 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);
  • 3. 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; }
  • 4. 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) {
  • 5. 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
  • 6. { 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;}
  • 7. 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;
  • 8. this.items[4] = 0; this.items[2] = 0; } void display() { System.out.println(this.name + "tt"+ 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