Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Problem Summary A cell phone company specializes in cell phones for single people (i.e. plans for a single line). They would like to hire you

Problem Summary

A cell phone company specializes in cell phones for single people (i.e. plans for a single line). They would like to hire you to write a program to help them calculate cell phone bills and analyze data.

Each cell phone bill includes three components:

Phone charges (as defined below) for each cell phone

State and local taxes of 8.1% tax on phone charges (Note: 8.1% would be stored as 0.081)

$ 1.44 Universal Service fee

Phone charges are based on the type of plan. Two plans are available, and both include unlimited talk minutes.

P = Pay as you go plan (no texts or data included)

U = Unlimited talk & text plan (no charge for texts, 2 GB of data included)

Phone charges are as follows for each plan: Plan

Base Fee

Charge for texts

Charge for data

P

5.99

0.10 per text

$3.39 per GB*

U

59.99

No charge

$2.29 per GB over 2 GB*

The company collets cell phone usage data monthly, and stores the data for each phone in a text data file.

For each cell phone account, the file holds:

- The cell phone number a 12-character String (###-###-####)

- The plan type (uppercased letter)

-The number of text messages sent and received

- The number of GB of data used, to one decimal place (e.g. 1.5)

The number of lines in the data file is unknown, but will be less than 500.

Sample input data file lines:

303-333-3333 P 50 0.9

720-777-7777 U 444 1.5

720-222-2222 P 200 1.8

720-123-4567 U 2000 4.4

You may assume all data in input data file is valid data (i.e. formatted correctly), but you must verify that the file exists (i.e. can be opened). If the file does not exist, the program will loop until the user enters the filename for a file that can be opened.

The company would like you to write a program to read the file, calculate the accounts monthly bill, and generate several reports.

The program will:

-Read the months data from the file, line by line, and store the data into an array that holds cell phone account data objects (maximum of 500 cell phone account data objects).

-Calculate the months total bill, based on the cell phone account data.

- Produce an output report file, containing the phone numbers and months total bill for each account, along with the total collected from customers.

-Analyze the bills to determine the high, low, and average charged, and display the results.

Program Requirements

Overview of Required Classes and Methods

Three separate classes will be required for this program.

- A class to define a CellPhoneAccount

- Contains data fields, constructor, setters, and getters

- Defines method to calculate the bill total for one CellPhoneAccount object

- An AccountsListImpl class to implement the account array (to hold CellPhoneAccount objects)

-Contains data fields for the array and the number of objects in array

-Contains constructor and getter

-Defines method to add a CellPhoneAccount object to the array

-Defines method to read file data and use it to create objects and put them in the array

-Defines method to calculate bill totals for all CellPhoneAccount objects in the array

A BillingAnalysis main class to run the program

-Instantiates an AccountsListImpl object

-Reads input data filename and uses AccountsListImpl object to call method to read the file data and fill the array.

-Uses AccountsListImpl object to calls methods to calculate all bill totals and write a billing report to a file.

-Calls static method to display a billing analysis summary

-Loops until user wants to quit

Project Requirements

1. Define a Java class with properties and methods for a cell phone account object, named: CellPhoneAccount

The class will have a private data property for each item on the text file data line. (i.e. Cell phone number, plan type, number of text messages sent and received, and number of GB of data used)

Additionally, it will have a bill Total private data property to hold the months bill total

Within the Cellphone Account class:

- Define a constructor, with parameters for each data property that is read from the text data file.

-Use the parameters to initialize the values.

-Initialize the bill Total to 0.

-Define getters and setters for each data property.

-Define an instance method to calculate and store the bill Total for a Cellphone Account object. The method will:

-Define constants for the calculations (from page 1 of this assignment).

-Constants will be defined for all fixed values (including base rates, included amounts, overage charges, universal fee, and tax rate). Be sure that you do not embed any constant values in the constant names.

- Use the data field values to calculate the months total phone bill.

- Store the calculated value into the bill Total data property for the object.

2. Define a second class that will implement the cell phone accounts array for this program, named:

AccountsListImpl

The class will have the following public data properties:

v A static constant array size (maximum items that can be held in the array) set to 500

The class will have the following private data properties:

v An accountArray array (to hold CellPhoneAccount objects)

v A property to hold the number of CellPhoneAccount objects stored in the array

Note: The data property definitions will only define the array reference variable.

It will not create or initialize the array object.

Within the AccountsListImpl class:

-Define a constructor that will:

Instantiate an account Array array object (using new to initialize the array reference variable and the constant array size)

-Initialize the number of Cellphone Account objects stored in the array to 0

-Define a getter to return the number of objects stored in the array

-Define an instance method to add one Cellphone Account object to the account Array. The method will:

-Have one parameter, the Cellphone Account object to add

-Test to see if the array is full

-If the array is full, will throw an ArrayIndexOutOfBoundsException

- Include a message to pass to the exception handler that states the array is full and stating which phone number cannot be added.

Otherwise, store the Cellphone Account object into the account Array and increment the number of objects stored in the array.

Define an instance method to read and store all the data from the input file. The method will:

-Have one parameter: the name of the data input file (String)

-Try to open the input data file.

If the file opened:

Display a message that the program is reading and storing the file data

In a loop:

v Read all data items from one line of the input data file

v Call the constructor to instantiate a new Cellphone Account object, passing in the data read from the file.

v Try to call the instance method to add the Cellphone Account object to the array (note: this is an instance method of the AccountsListImpl class)

v Catch any thrown ArrayIndexOutOfBoundsException exceptions.

Display the message passed back via the throw.

Also display a message that no more data will be read from the file.

Set a value to exit the loop (so no more data will be read).

Loop until there is no more file data or an exception is thrown.

Close file.

Display the number of CellPhone Account objects stored in the account Array.

- Catch any FileNotFoundException exceptions. When caught:

v Display a message that says which file could not be opened.

- Define an instance method to loop through all the objects in the account Array and calculate and store values for the bill Charge data field. The method will:

- For each CellPhone Account object stored in the array:

-Call the instance method to calculate the months total phone bill (this is an instance method within the CellPhone Account class)

- Define an instance method to produce a billing report of monthly bill totals.

The method will create an output file with the billing report. The method should:

-Read the filename for the report output file from the user.

-Try to open the report output file

If the file opened successfully, generate a report and write it to the output file.

-The output file report will contain a list of cell phone numbers and the bill charges associated with that phone numbers (accessed via getters), with the charges right-aligned on the decimal point.

The last line of the output file will contain the total of all phone bill charges collected, right-aligned on the decimal point with the charges listed above it.

Sample output file (using data from sample input data lines above)

-Catch any FileIOException exceptions. When caught:

Display a message that explains which file could not be opened and that a bill report will not be generated.

- Define three additional instance methods to:

- Determine and return the lowest bill charge in the account Array

Calculate and return the average bill charge in the account Array

- Determine and return the highest bill charge in the account Array

Note: You will need to use a getter to access the bill total in each object. Within the array.

Within the Billing Analysis main class:

-Define a static method to display a billing analysis summary, using the previously defined instance methods to calculate the low, high, and average bill charges.

-Parameters: the AccountsListImpl object

-The billing summary will be displayed as shown in the sample output on the next page.

All figures will be right-aligned on the decimal point.

- Define a main method to:

-Display a description of what the program will do to the user.

-In a loop (outer loop):

-Create a new object of the AccountsListImpl class.

-In a loop (inner loop):

-Read the filename for the input data file from the user.

-Using the object, call the instance method to read and store the data from the input file (sends a message to the AccountsListImpl object

303-333-3333 16.98

720-777-7777 66.29

720-222-2222 36.86

720-123-4567 73.72

Total 193.85

Get the number of Cellphone Account objects stored in the array. Note that if the file could not be opened successfully, the data field that holds the number of Cellphone Account objects stored in the array will remain 0.

Loop, trying to read files, until the number of Cellphone Account objects stored in the array is not 0, indicating the file was read (i.e. the array now has data stored in it).

Display a message to the user, that the program will calculate the monthly bills.

Use the AccountsListImpl object to call:

The instance method to loop through all the objects in the account Array and calculate and store values the billCharge.

The instance method to create the billing report of monthly bill totals.

303-333-3333 16.98

720-777-7777 66.29

720-222-2222 36.86

720-123-4567 73.72

Total 193.85

Get the number of CellPhoneAccount objects stored in the array. Note that if the file could not be opened successfully, the data field that holds the number of CellPhoneAccount objects stored in the array will remain 0.

Loop, trying to read files, until the number of CellPhoneAccount objects stored in the array is not 0, indicating the file was read (i.e. the array now has data stored in it).

Display a message to the user, that the program will calculate the monthly bills.

Use the AccountsListImpl object to call:

The instance method to loop through all the objects in the accountArray and calculate and store values the billCharge.

The instance method to create the billing report of monthly bill totals.

Sample Run (using sample input data lines from above)

Program will calculate cell phone bills, produce a report of bill totals,

and display a billing analysis summary.

Enter input data filename: x

Cannot open input file x

Enter input data filename: data.txt

Reading cell phone account data...

Data stored for 4 cell phone accounts.

Calculating all phone bills...

Enter name of report output file: report.txt

Monthly Billing Analysis for 4 cell phone accounts:

Lowest bill charge 16.98

Average bill charge 48.46

Highest bill charge 73.72

Run again (y/n)?

N

Problem Summary

A cell phone company specializes in cell phones for single people (i.e. plans for a single line). They would like to hire you to write a program to help them calculate cell phone bills and analyze data.

Each cell phone bill includes three components:

Phone charges (as defined below) for each cell phone

State and local taxes of 8.1% tax on phone charges (Note: 8.1% would be stored as 0.081)

$ 1.44 Universal Service fee

Phone charges are based on the type of plan. Two plans are available, and both include unlimited talk minutes.

P = Pay as you go plan (no texts or data included)

U = Unlimited talk & text plan (no charge for texts, 2 GB of data included)

Phone charges are as follows for each plan: Plan

Base Fee

Charge for texts

Charge for data

P

5.99

0.10 per text

$3.39 per GB*

U

59.99

No charge

$2.29 per GB over 2 GB*

The company collets cell phone usage data monthly, and stores the data for each phone in a text data file.

For each cell phone account, the file holds:

- The cell phone number a 12-character String (###-###-####)

- The plan type (uppercased letter)

-The number of text messages sent and received

- The number of GB of data used, to one decimal place (e.g. 1.5)

The number of lines in the data file is unknown, but will be less than 500.

Sample input data file lines:

303-333-3333 P 50 0.9

720-777-7777 U 444 1.5

720-222-2222 P 200 1.8

720-123-4567 U 2000 4.4

You may assume all data in input data file is valid data (i.e. formatted correctly), but you must verify that the file exists (i.e. can be opened). If the file does not exist, the program will loop until the user enters the filename for a file that can be opened.

The company would like you to write a program to read the file, calculate the accounts monthly bill, and generate several reports.

The program will:

-Read the months data from the file, line by line, and store the data into an array that holds cell phone account data objects (maximum of 500 cell phone account data objects).

-Calculate the months total bill, based on the cell phone account data.

- Produce an output report file, containing the phone numbers and months total bill for each account, along with the total collected from customers.

-Analyze the bills to determine the high, low, and average charged, and display the results.

Program Requirements

Overview of Required Classes and Methods

Three separate classes will be required for this program.

- A class to define a CellPhoneAccount

- Contains data fields, constructor, setters, and getters

- Defines method to calculate the bill total for one CellPhoneAccount object

- An AccountsListImpl class to implement the account array (to hold CellPhoneAccount objects)

-Contains data fields for the array and the number of objects in array

-Contains constructor and getter

-Defines method to add a CellPhoneAccount object to the array

-Defines method to read file data and use it to create objects and put them in the array

-Defines method to calculate bill totals for all CellPhoneAccount objects in the array

A BillingAnalysis main class to run the program

-Instantiates an AccountsListImpl object

-Reads input data filename and uses AccountsListImpl object to call method to read the file data and fill the array.

-Uses AccountsListImpl object to calls methods to calculate all bill totals and write a billing report to a file.

-Calls static method to display a billing analysis summary

-Loops until user wants to quit

Project Requirements

1. Define a Java class with properties and methods for a cell phone account object, named: CellPhoneAccount

The class will have a private data property for each item on the text file data line. (i.e. Cell phone number, plan type, number of text messages sent and received, and number of GB of data used)

Additionally, it will have a bill Total private data property to hold the months bill total

Within the Cellphone Account class:

- Define a constructor, with parameters for each data property that is read from the text data file.

-Use the parameters to initialize the values.

-Initialize the bill Total to 0.

-Define getters and setters for each data property.

-Define an instance method to calculate and store the bill Total for a Cellphone Account object. The method will:

-Define constants for the calculations (from page 1 of this assignment).

-Constants will be defined for all fixed values (including base rates, included amounts, overage charges, universal fee, and tax rate). Be sure that you do not embed any constant values in the constant names.

- Use the data field values to calculate the months total phone bill.

- Store the calculated value into the bill Total data property for the object.

2. Define a second class that will implement the cell phone accounts array for this program, named:

AccountsListImpl

The class will have the following public data properties:

v A static constant array size (maximum items that can be held in the array) set to 500

The class will have the following private data properties:

v An accountArray array (to hold CellPhoneAccount objects)

v A property to hold the number of CellPhoneAccount objects stored in the array

Note: The data property definitions will only define the array reference variable.

It will not create or initialize the array object.

Within the AccountsListImpl class:

-Define a constructor that will:

Instantiate an account Array array object (using new to initialize the array reference variable and the constant array size)

-Initialize the number of Cellphone Account objects stored in the array to 0

-Define a getter to return the number of objects stored in the array

-Define an instance method to add one Cellphone Account object to the account Array. The method will:

-Have one parameter, the Cellphone Account object to add

-Test to see if the array is full

-If the array is full, will throw an ArrayIndexOutOfBoundsException

- Include a message to pass to the exception handler that states the array is full and stating which phone number cannot be added.

Otherwise, store the Cellphone Account object into the account Array and increment the number of objects stored in the array.

Define an instance method to read and store all the data from the input file. The method will:

-Have one parameter: the name of the data input file (String)

-Try to open the input data file.

If the file opened:

Display a message that the program is reading and storing the file data

In a loop:

v Read all data items from one line of the input data file

v Call the constructor to instantiate a new Cellphone Account object, passing in the data read from the file.

v Try to call the instance method to add the Cellphone Account object to the array (note: this is an instance method of the AccountsListImpl class)

v Catch any thrown ArrayIndexOutOfBoundsException exceptions.

Display the message passed back via the throw.

Also display a message that no more data will be read from the file.

Set a value to exit the loop (so no more data will be read).

Loop until there is no more file data or an exception is thrown.

Close file.

Display the number of CellPhone Account objects stored in the account Array.

- Catch any FileNotFoundException exceptions. When caught:

v Display a message that says which file could not be opened.

- Define an instance method to loop through all the objects in the account Array and calculate and store values for the bill Charge data field. The method will:

- For each CellPhone Account object stored in the array:

-Call the instance method to calculate the months total phone bill (this is an instance method within the CellPhone Account class)

- Define an instance method to produce a billing report of monthly bill totals.

The method will create an output file with the billing report. The method should:

-Read the filename for the report output file from the user.

-Try to open the report output file

If the file opened successfully, generate a report and write it to the output file.

-The output file report will contain a list of cell phone numbers and the bill charges associated with that phone numbers (accessed via getters), with the charges right-aligned on the decimal point.

The last line of the output file will contain the total of all phone bill charges collected, right-aligned on the decimal point with the charges listed above it.

Sample output file (using data from sample input data lines above)

-Catch any FileIOException exceptions. When caught:

Display a message that explains which file could not be opened and that a bill report will not be generated.

- Define three additional instance methods to:

- Determine and return the lowest bill charge in the account Array

Calculate and return the average bill charge in the account Array

- Determine and return the highest bill charge in the account Array

Note: You will need to use a getter to access the bill total in each object. Within the array.

Within the Billing Analysis main class:

-Define a static method to display a billing analysis summary, using the previously defined instance methods to calculate the low, high, and average bill charges.

-Parameters: the AccountsListImpl object

-The billing summary will be displayed as shown in the sample output on the next page.

All figures will be right-aligned on the decimal point.

- Define a main method to:

-Display a description of what the program will do to the user.

-In a loop (outer loop):

-Create a new object of the AccountsListImpl class.

-In a loop (inner loop):

-Read the filename for the input data file from the user.

-Using the object, call the instance method to read and store the data from the input file (sends a message to the AccountsListImpl object

303-333-3333 16.98

720-777-7777 66.29

720-222-2222 36.86

720-123-4567 73.72

Total 193.85

Get the number of Cellphone Account objects stored in the array. Note that if the file could not be opened successfully, the data field that holds the number of Cellphone Account objects stored in the array will remain 0.

Loop, trying to read files, until the number of Cellphone Account objects stored in the array is not 0, indicating the file was read (i.e. the array now has data stored in it).

Display a message to the user, that the program will calculate the monthly bills.

Use the AccountsListImpl object to call:

The instance method to loop through all the objects in the account Array and calculate and store values the billCharge.

The instance method to create the billing report of monthly bill totals.

303-333-3333 16.98

720-777-7777 66.29

720-222-2222 36.86

720-123-4567 73.72

Total 193.85

Get the number of CellPhoneAccount objects stored in the array. Note that if the file could not be opened successfully, the data field that holds the number of CellPhoneAccount objects stored in the array will remain 0.

Loop, trying to read files, until the number of CellPhoneAccount objects stored in the array is not 0, indicating the file was read (i.e. the array now has data stored in it).

Display a message to the user, that the program will calculate the monthly bills.

Use the AccountsListImpl object to call:

The instance method to loop through all the objects in the accountArray and calculate and store values the billCharge.

The instance method to create the billing report of monthly bill totals.

Sample Run (using sample input data lines from above)

Program will calculate cell phone bills, produce a report of bill totals,

and display a billing analysis summary.

Enter input data filename: x

Cannot open input file x

Enter input data filename: data.txt

Reading cell phone account data...

Data stored for 4 cell phone accounts.

Calculating all phone bills...

Enter name of report output file: report.txt

Monthly Billing Analysis for 4 cell phone accounts:

Lowest bill charge 16.98

Average bill charge 48.46

Highest bill charge 73.72

Run again (y/n)?

N

Problem Summary

A cell phone company specializes in cell phones for single people (i.e. plans for a single line). They would like to hire you to write a program to help them calculate cell phone bills and analyze data.

Each cell phone bill includes three components:

Phone charges (as defined below) for each cell phone

State and local taxes of 8.1% tax on phone charges (Note: 8.1% would be stored as 0.081)

$ 1.44 Universal Service fee

Phone charges are based on the type of plan. Two plans are available, and both include unlimited talk minutes.

P = Pay as you go plan (no texts or data included)

U = Unlimited talk & text plan (no charge for texts, 2 GB of data included)

Phone charges are as follows for each plan: Plan

Base Fee

Charge for texts

Charge for data

P

5.99

0.10 per text

$3.39 per GB*

U

59.99

No charge

$2.29 per GB over 2 GB*

The company collets cell phone usage data monthly, and stores the data for each phone in a text data file.

For each cell phone account, the file holds:

- The cell phone number a 12-character String (###-###-####)

- The plan type (uppercased letter)

-The number of text messages sent and received

- The number of GB of data used, to one decimal place (e.g. 1.5)

The number of lines in the data file is unknown, but will be less than 500.

Sample input data file lines:

303-333-3333 P 50 0.9

720-777-7777 U 444 1.5

720-222-2222 P 200 1.8

720-123-4567 U 2000 4.4

You may assume all data in input data file is valid data (i.e. formatted correctly), but you must verify that the file exists (i.e. can be opened). If the file does not exist, the program will loop until the user enters the filename for a file that can be opened.

The company would like you to write a program to read the file, calculate the accounts monthly bill, and generate several reports.

The program will:

-Read the months data from the file, line by line, and store the data into an array that holds cell phone account data objects (maximum of 500 cell phone account data objects).

-Calculate the months total bill, based on the cell phone account data.

- Produce an output report file, containing the phone numbers and months total bill for each account, along with the total collected from customers.

-Analyze the bills to determine the high, low, and average charged, and display the results.

Program Requirements

Overview of Required Classes and Methods

Three separate classes will be required for this program.

- A class to define a CellPhoneAccount

- Contains data fields, constructor, setters, and getters

- Defines method to calculate the bill total for one CellPhoneAccount object

- An AccountsListImpl class to implement the account array (to hold CellPhoneAccount objects)

-Contains data fields for the array and the number of objects in array

-Contains constructor and getter

-Defines method to add a CellPhoneAccount object to the array

-Defines method to read file data and use it to create objects and put them in the array

-Defines method to calculate bill totals for all CellPhoneAccount objects in the array

A BillingAnalysis main class to run the program

-Instantiates an AccountsListImpl object

-Reads input data filename and uses AccountsListImpl object to call method to read the file data and fill the array.

-Uses AccountsListImpl object to calls methods to calculate all bill totals and write a billing report to a file.

-Calls static method to display a billing analysis summary

-Loops until user wants to quit

Project Requirements

1. Define a Java class with properties and methods for a cell phone account object, named: CellPhoneAccount

The class will have a private data property for each item on the text file data line. (i.e. Cell phone number, plan type, number of text messages sent and received, and number of GB of data used)

Additionally, it will have a bill Total private data property to hold the months bill total

Within the Cellphone Account class:

- Define a constructor, with parameters for each data property that is read from the text data file.

-Use the parameters to initialize the values.

-Initialize the bill Total to 0.

-Define getters and setters for each data property.

-Define an instance method to calculate and store the bill Total for a Cellphone Account object. The method will:

-Define constants for the calculations (from page 1 of this assignment).

-Constants will be defined for all fixed values (including base rates, included amounts, overage charges, universal fee, and tax rate). Be sure that you do not embed any constant values in the constant names.

- Use the data field values to calculate the months total phone bill.

- Store the calculated value into the bill Total data property for the object.

2. Define a second class that will implement the cell phone accounts array for this program, named:

AccountsListImpl

The class will have the following public data properties:

v A static constant array size (maximum items that can be held in the array) set to 500

The class will have the following private data properties:

v An accountArray array (to hold CellPhoneAccount objects)

v A property to hold the number of CellPhoneAccount objects stored in the array

Note: The data property definitions will only define the array reference variable.

It will not create or initialize the array object.

Within the AccountsListImpl class:

-Define a constructor that will:

Instantiate an account Array array object (using new to initialize the array reference variable and the constant array size)

-Initialize the number of Cellphone Account objects stored in the array to 0

-Define a getter to return the number of objects stored in the array

-Define an instance method to add one Cellphone Account object to the account Array. The method will:

-Have one parameter, the Cellphone Account object to add

-Test to see if the array is full

-If the array is full, will throw an ArrayIndexOutOfBoundsException

- Include a message to pass to the exception handler that states the array is full and stating which phone number cannot be added.

Otherwise, store the Cellphone Account object into the account Array and increment the number of objects stored in the array.

Define an instance method to read and store all the data from the input file. The method will:

-Have one parameter: the name of the data input file (String)

-Try to open the input data file.

If the file opened:

Display a message that the program is reading and storing the file data

In a loop:

v Read all data items from one line of the input data file

v Call the constructor to instantiate a new Cellphone Account object, passing in the data read from the file.

v Try to call the instance method to add the Cellphone Account object to the array (note: this is an instance method of the AccountsListImpl class)

v Catch any thrown ArrayIndexOutOfBoundsException exceptions.

Display the message passed back via the throw.

Also display a message that no more data will be read from the file.

Set a value to exit the loop (so no more data will be read).

Loop until there is no more file data or an exception is thrown.

Close file.

Display the number of CellPhone Account objects stored in the account Array.

- Catch any FileNotFoundException exceptions. When caught:

v Display a message that says which file could not be opened.

- Define an instance method to loop through all the objects in the account Array and calculate and store values for the bill Charge data field. The method will:

- For each CellPhone Account object stored in the array:

-Call the instance method to calculate the months total phone bill (this is an instance method within the CellPhone Account class)

- Define an instance method to produce a billing report of monthly bill totals.

The method will create an output file with the billing report. The method should:

-Read the filename for the report output file from the user.

-Try to open the report output file

If the file opened successfully, generate a report and write it to the output file.

-The output file report will contain a list of cell phone numbers and the bill charges associated with that phone numbers (accessed via getters), with the charges right-aligned on the decimal point.

The last line of the output file will contain the total of all phone bill charges collected, right-aligned on the decimal point with the charges listed above it.

Sample output file (using data from sample input data lines above)

-Catch any FileIOException exceptions. When caught:

Display a message that explains which file could not be opened and that a bill report will not be generated.

- Define three additional instance methods to:

- Determine and return the lowest bill charge in the account Array

Calculate and return the average bill charge in the account Array

- Determine and return the highest bill charge in the account Array

Note: You will need to use a getter to access the bill total in each object. Within the array.

Within the Billing Analysis main class:

-Define a static method to display a billing analysis summary, using the previously defined instance methods to calculate the low, high, and average bill charges.

-Parameters: the AccountsListImpl object

-The billing summary will be displayed as shown in the sample output on the next page.

All figures will be right-aligned on the decimal point.

- Define a main method to:

-Display a description of what the program will do to the user.

-In a loop (outer loop):

-Create a new object of the AccountsListImpl class.

-In a loop (inner loop):

-Read the filename for the input data file from the user.

-Using the object, call the instance method to read and store the data from the input file (sends a message to the AccountsListImpl object

303-333-3333 16.98

720-777-7777 66.29

720-222-2222 36.86

720-123-4567 73.72

Total 193.85

Get the number of Cellphone Account objects stored in the array. Note that if the file could not be opened successfully, the data field that holds the number of Cellphone Account objects stored in the array will remain 0.

Loop, trying to read files, until the number of Cellphone Account objects stored in the array is not 0, indicating the file was read (i.e. the array now has data stored in it).

Display a message to the user, that the program will calculate the monthly bills.

Use the AccountsListImpl object to call:

The instance method to loop through all the objects in the account Array and calculate and store values the billCharge.

The instance method to create the billing report of monthly bill totals.

303-333-3333 16.98

720-777-7777 66.29

720-222-2222 36.86

720-123-4567 73.72

Total 193.85

Get the number of CellPhoneAccount objects stored in the array. Note that if the file could not be opened successfully, the data field that holds the number of CellPhoneAccount objects stored in the array will remain 0.

Loop, trying to read files, until the number of CellPhoneAccount objects stored in the array is not 0, indicating the file was read (i.e. the array now has data stored in it).

Display a message to the user, that the program will calculate the monthly bills.

Use the AccountsListImpl object to call:

The instance method to loop through all the objects in the accountArray and calculate and store values the billCharge.

The instance method to create the billing report of monthly bill totals.

Sample Run (using sample input data lines from above)

Program will calculate cell phone bills, produce a report of bill totals,

and display a billing analysis summary.

Enter input data filename: x

Cannot open input file x

Enter input data filename: data.txt

Reading cell phone account data...

Data stored for 4 cell phone accounts.

Calculating all phone bills...

Enter name of report output file: report.txt

Monthly Billing Analysis for 4 cell phone accounts:

Lowest bill charge 16.98

Average bill charge 48.46

Highest bill charge 73.72

Run again (y/n)?

N

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

The Database Relational Model A Retrospective Review And Analysis

Authors: C. J. Date

1st Edition

0201612941, 978-0201612943

More Books

Students also viewed these Databases questions