Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Java Expert


Home >> Java

Project Details

Background information and description

By definition, a shareholder owns one or more shares of stock in a public or private corporation. A shareholder may own shares in multiple companies, this is known as a portfolio. Shares of stock for the corporation are traded (bought and sold) on the stock market where the price of the stock fluctuates due to supply and demand. A shareholder is not able to trade shares of stock directly themselves but must use the services of an agent, commonly known as a broker or stockbroker, to trade the shares on their behalf. The broker charges the shareholder a fee for each of the trades they transact on their behalf.

In this assignment, your task is to create an object-oriented, menu-driven Java program that implements a limited set of functionalities (i.e., the program will not be a completely real-world implementation) that a broker can use to buy and sell shares for its customers, generate reports, and retrieve and save data in secondary storage

In general, your program will need to read data from the keyboard and from certain text files in secondary storage, store the data in appropriate data structures using objects, sort and search the data, and write output data to both the screen and to secondary storage. The specific functional requirements are described in section B(ii) of this document. The text files that are to be used for this assignment are described in section B(iii). The classes that must be used as a minimum are described in section B(iv).

B(ii) - Program Requirements/Functionality

The Java program must
a) be object-oriented utilising the classes described in section B (iv) as a minimum. Other classes may also be needed to solve the program requirements;

b) be menu-driven. The main menu must have the following menu items:

1. Trade Shares
2. Portfolio Report
3. Save
4. Exit Program

c) be able to process the defined text files. The text files and their formats are described in section B (iii).

Program Start Up

When the java program starts it must perform the following file related operations:

d) Read the data from the shareholder.txt file into computer memory into an appropriate array of objects (see section B (iii) for a description of the shareholder text file and section B (iv) for a description of the shareholder class). If the shareholder file does not exist then the user should be informed of this and given the opportunity to provide an alternative filename that contains the shareholder data;

e) Read the data from the portfolios.txt file into computer memory into an appropriate array of objects (see section B (iii) for a description of the portfolios text file and section B (iv) for a description of the Portfolio class). If the portfolios file does not exist then the user should be informed of this and given the opportunity to provide an alternative filename that contains the portfolios data;

f) Read the data from the shares.txt file into computer memory into an appropriate array of objects (see section B (iii) for a description of the shares text file and section B (iv) for a description of the Shares class). If the shares file does not exist then the user should be informed of this and given the opportunity to provide an alternative filename that contains the shares data.

After processing these three files the program should display the main menu identified in section B(ii)(b) above.

The required functionality for each menu item is described as follows:

1. Trade Shares - when this menu option is selected the following actions should be performed by the program:
- Find the customer for which shares are to be traded
- Identify which share stock they wish to trade. If the customer already owns shares in the chosen company then shares may be either bought or sold. However, if they wish to trade in shares which they don't yet own then shares may only be bought.
- determine if the shares are to be bought or sold for the customer, and how many shares
- transact the trade (ensure your program takes into account all logical validation conditions when doing so).
- generate an on-screen summary of the trade. The summary of the trade must show the customer name and address, portfolio ID, current date, share code, company name, number of shares bought or sold, share price, total of the trade. Make sure that this is displayed in a clear and logical format on the screen.

2. Portfolio Report - when this menu option is selected the following actions should be performed:
- Determine if the report is for all customers or for a specific customer
- generate the Portfolio Report for either all customers or the specified customer. The Portfolio Report should have a similar layout to the following example:

3. Save - the program must write the portfolios data back to the Portfolios text file (customer and share data will not have changed so it doesn't need to be written back to the files).

4. Exit Program - the program must terminate when this menu item is selected. The program should not terminate until this option is chosen. If the portfolio data has changed since the last save then do not exit the program. Instead, warn the user that they should choose the Save option, then return program control to the main menu.

B(iii) - Text files to be processed
The data that is to be manipulated by your Java program for this assignment is contained in the text files
shareholders.txt, portfolios.txt, and shares.txt. Examples of these text files are found in the zip file for the

assignment. The data within these text files will need to be read into memory by your program so that it may be manipulated to solve many aspects of the required functionality of the assignment. The text files have been created to conform to a particular format. The format for each file is described below:

File: shareholders.txt
This file contains a full record of all customers for the broker. Each line within the file represents an individual customer, and has the following format:

Customer ID, Customer Name, Customer Address, Portfolio ID where each data item is separated by a comma (,).

A brief explanation of each of these data items:
Customer ID: a unique numeric identifier for a customer Customer Name: the customer name in the format: firstname surname Customer Address: the customer address
Portfolio ID: a unique identifier for the customer share portfolio Two (2) shareholders.txt file has been provided in the assignment zip file.
File: portfolios.txt
This file contains a full record of all portfolios for customers. Each line within this file represents an individual portfolio of shares for a shareholder, and has the following format:

Portfolio ID, [Sharecode, Number of shares] {10}

where each data item is separated by a comma (,). Note: A portfolio can have up to 10 different share stocks hence the Share Code and Number of shares may be repeated up to 10 times.

A brief explanation of each of these data items:
Portfolio ID: a unique identifier for the customer share portfolio
Sharecode: code used to identify the share stock
Number of Shares: the number of shares for the share held Two (2) portfolios.txt file has been provided in the assignment zip file.
File: shares.txt
This file contains a full record of all shares that can be traded by the broker. Each line within the file represents a share stock, and has the following format:

Sharecode, Company Name, price
where each data item is separated by a comma (,). A brief explanation of each of these data items:
Sharecode: code used to identify the share stock
Company Name: the name of the company of the share code
price: the closing price of the share stock One (1) shares.txt file has been provided in the assignment zip file.

Notes:

1. When reading the text files into memory the data should be read into appropriate array(s) of objects. The classes for these objects are briefly outlined in section B(iv).

2. For the purpose of marking the assignment the number of lines of data and the data values in the text files will be replaced with different data by the marker. This is to ensure that your solution has not relied upon specific data values or the number of lines in the text files to work. You should therefore test your program with different data files of varying length and varying data before submission.

B(iv) - Required Classes

To write your solution for this assignment it is a requirement that you write appropriate code for at least the following java Classes:
a) Shareholder
b) Portfolio
c) Share

These classes are described in general terms as follows:

a) Shareholder class: The Shareholder class represents an individual shareholder (customer). The Shareholder class needs data fields for the Customer ID, first name, surname, address, portfolio id. Implement appropriate constructors, accessors, and mutators where necessary and other appropriate methods for this class based upon the general requirements of the assignment specification - that is, you will need to identify if the shareholder class is required to perform any other actions and implement the identified methods in the class.

b) Portfolio class: The Portfolio class represents a collection of one or more Shares that an individual Shareholder owns. The Portfolio class needs data fields for the Portfolio ID, Share Code, the number of shares. Implement appropriate constructors, accessors, and mutators where necessary and other appropriate methods for this class based upon the general requirements of the assignment specification - that is, you will need to identify if the portfolio class is required to perform any other actions and implement the identified methods in the class. Note: A portfolio can have up to 10 different share stocks, hence the Share Code and number of shares may need to be stored up to 10 times.

c) Share class: The Share class represents an individual Share stock that is traded on the stock market by the broker. The Share class needs data fields for the Share Code, the Company name, the Share price. Implement appropriate constructors, accessors, and mutators where necessary and other appropriate methods for this class based upon the general requirements of the assignment specification - that is, you will need to identify if the share class is required to perform any other actions and implement the identified methods in the class.

Attachment:- DataSet.rar

Java, Programming

  • Category:- Java
  • Reference No.:- M92484307
  • Price:- $70

Priced at Now at $70, Verified Solution

Have any Question?


Related Questions in Java

Assessment instructionsin this assessment you will design

Assessment Instructions In this assessment, you will design and code a simple Java application that defines a class, instantiate the class into a number of objects, and prints out the attributes of these objects in a spe ...

Retail price calculatorwrite a java program that asks the

Retail Price Calculator Write a JAVA program that asks the user to enter an item's wholesale cost and its markup percentage. It should then display the item's retail price. For example: (If an item's wholesale cost is 5. ...

Assignment taskwrite a java console application that allows

Assignment task Write a java console application that allows the user to read, validate, store, display, sort and search data such as flight departure city (String), flight number (integer), flight distance (integer), fl ...

Overviewyou are required to use java se 80 and javafx to

Overview You are required to use Java SE 8.0 and JavaFX to develop a Graphical User Interface (GUI) for the FlexiRent rental property management program created in Assignment 1. This assignment is designed to help you: 1 ...

Assignment - method in our madnessthe emphasis for this

Assignment - "Method in our Madness" The emphasis for this assignment is methods with parameters. In preparation for this assignment, create a folder called Assign_3 for the DrJava projects for the assignment. A Cityscap ...

Overviewyou are required to use java se 80 and javafx to

Overview You are required to use Java SE 8.0 and JavaFX to develop a Graphical User Interface (GUI) for the FlexiRent rental property management program created in Assignment 1. This assignment is designed to help you: 1 ...

Assignment game prototypeoverviewfor this assessment task

Assignment: Game Prototype Overview For this assessment task you are expected to construct a prototype level/area as a "proof of concept" for the game that you have designed in Assignment 1. The prototype should function ...

Project descriptionwrite a java program to traverse a

Project Description: Write a java program to traverse a directory structure (DirWalker.java) of csv files that contain csv files with customer info. A simple sample in provided in with the sample code but you MUST will r ...

Project requirementsfor the problem described in the next

Project requirements For the problem described in the next section, you must do the following: 1. include your student ID at the end of all filenames for all java code files. Three classes have been identified in section ...

Assessment -java program using array of Assessment -JAVA Program using array of objects

Assessment -JAVA Program using array of objects Objectives This assessment item relates to the course learning outcomes as stated in the Unit Profile. Details For this assignment, you are required to develop a Windowed G ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As