Students will design the logic for an application and submit
Students will design the logic for an application and submit a partially completed Java program.
The BMC Parts Company needs a program that will read the inventory.txt file and create an inventory report based on the data in the file. The inventory.txt file contains the part number, opening balance, number of items sold, and the minimum stock required. The output file, inventoryNeeded.txt, will contain the part number, current balance and the amount that is necessary to bring the inventory to the minimum level.
In this assignment, students will design the logic for the program that reads the input file and creates the output file. Files provided include inventory.txt and the partially completed program inventoryNeeded.java. The program file provided includes the necessary variable declarations and input and output file statements. You need to write the part of the program that reads the input file, calculates the current balance and amount required to bring the inventory to the minimum level. Then output the part number, current balance and the amount needed to the output file.
In this assignment, students will submit both the .java and the .class files for the completed program along with the output file created from the program execution, and the pseudocode. The files will be submitted by the posted due date using the appropriate dropbox.
The pseudocode must be submitted as a Microsoft Word compatible file. Examples of Word compatible documents are those with a .doc, .docx, or .rtf file extension. If there is a question about the format, consult with your instructor before submitting your assignment.
inventory.txt file contains:
QA310
95
47
50
CM145
320
162
200
MS514
34
20
25
EN212
163
150
160
Output file – inventoryNeeded.txt should look like this
Solution
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.Scanner;
/**
* @author
*
*/
public class inventoryNeeded {
/**
* @param args
*/
public static void main(String[] args) {
Scanner scanner = null;
try {
scanner = new Scanner(new File(\"inventory.txt\"));
File file = new File(\"inventoryNeeded.txt\");
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
while (scanner.hasNext()) {
String partNumber = scanner.next();
int quantity = scanner.nextInt();
int sales = scanner.nextInt();
int reqSale = scanner.nextInt();
bw.write(\"Part Number:\" + partNumber + \"\ \");
bw.write(\"Current Balance:\" + (quantity - sales) + \"\ \");
bw.write(\"Amount Needed:\" + (reqSale - (quantity - sales))
+ \"\ \ \");
}
System.out
.println(\"Inventory written successfully to inventoryNeeded.txt\");
bw.close();
} catch (Exception e) {
// TODO: handle exception
} finally {
if (scanner != null)
scanner.close();
}
}
}
inventory.txt
QA310
95
47
50
CM145
320
162
200
MS514
34
20
25
EN212
163
150
160
OUTPUT:
Inventory written successfully to inventoryNeeded.txt
inventoryNeeded.txt
Part Number:QA310
Current Balance:48
Amount Needed:2
Part Number:CM145
Current Balance:158
Amount Needed:42
Part Number:MS514
Current Balance:14
Amount Needed:11
Part Number:EN212
Current Balance:13
Amount Needed:147


