2023 CIS355A Week 5 Lab File Processing OBJECTIVES Add persistent data storage to | Assignment Collections
Computer Science 2023 Lab: File Processing
2023 CIS355A Week 5 Lab File Processing OBJECTIVES Add persistent data storage to | Assignment Collections
CIS355A Week 5 Lab—File Processing
OBJECTIVES
· Add persistent data storage to your Week 4 Lab using text file input/output.
PROBLEM: Stocks4U Portfolio Management System
The portfolio management system you developed for Stocks4U needs the ability to save and restore a user’s data from a text file.
FUNCTIONAL REQUIREMENTS
You can code the GUI by hand or use NetBeans GUI Builder Interface.
You will enhance Week 4 GUI to include
· a File menu with menu items: open, save, exit; and
· a label to display total portfolio value.
Stock class
· Modify the toString of Stock class to display as
“Company: qty shares” (i.e., “Apple: 10 shares”)
StockIO class
Create a StockIO class that is used to read from and write to a text file using an ArrayList. Make sure to use a delimiter between the fields; it does not have to be the # character. Example format of the file is:
Apple#100#55.0#80.0
Intel#50#75.0#70.0
This class should have two methods.
· getData—reads data from file, returns data in array list of stock objects
· saveData—writes data from an array list to the file in proper format
The file name will be an instance variable that you can set with a parameterized constructor, or with a separate method.
GUI class
Note that you will need to add an ArrayList to your GUI class to manage the data to/from the file. It will act as a parallel array to your DefaultListModel. Any time you add a stock, you must add it in BOTH places. Any time you remove a stock, you must remove it in BOTH places.
File—open should prompt for file name using JOptionPane, read the file and populate the JList.
File—save should prompt for file name to save data from JList to.
File—exit should exit the program.
The total value of the portfolio should be displayed at all times and updated anytime a stock is added or removed.
Sample GUI
RUBRIC
Stock class toString modified
5
GUI class
· Menu is added.
· Label is added for total portfolio value.
· Open menu item reads data from a file and displays in list box.
· Save menu item writes data to a text file in proper format.
· Total value is updated whenever any changes are made to stocks (add, remove, open a new file).
15
StockIO class
· getData method reads from file to array list
· saveData method writes from array list to file
20
Code style
5
Lab Report
10
TOTAL
55
CODE STYLE REQUIREMENTS
· Include meaningful comments throughout your code.
· Use meaningful names for variables.
· Code must be properly indented.
· Include a comment header at beginning of each file, example below.
/****************************************************
Program Name: ProgramName.java
Programmer’s Name: Student Name
Program Description: Describe here what this program will do
***********************************************************/
DELIVERABLES
Submit as a SINGLE zip folder
· all Java files; and
· the Lab report.
Follow assignment specification regarding class/method names.
Note that your Java file name must match class name (DO NOT rename).
We give our students 100% satisfaction with their assignments, which is one of the most important reasons students prefer us to other helpers. Our professional group and planners have more than ten years of rich experience. The only reason is that we have successfully helped more than 100000 students with their assignments on our inception days. Our expert group has more than 2200 professionals in different topics, and that is not all; we get more than 300 jobs every day more than 90% of the assignment get the conversion for payment.