Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Purpose Calculate mileage reimbursement based on a table. Java Topics Java I/O, while loops, if-else-if statements, summing and averaging data. Use of leftPad in the

Purpose Calculate mileage reimbursement based on a table.

Java Topics Java I/O, while loops, if-else-if statements, summing and averaging data. Use of leftPad in the Toolkit class.

References Textbook use the index for relevant topics.

Toolkit.java (must be stored in the same folder as your program)

Specification

The Mathematical Association of America hosts an annual summer meeting. Each state sends one official delegate to the section officers meeting at this summer session. The national organization reimburses the official state delegates according to the scale at the bottom of the page. Write a Java program to calculate the reimbursement values, satisfying the following:

Read data from a file and write data to a file. All data written to the output file should be echoed on the console. There should be only one input file and only one (separate) output file. The files are named, respectively,

Main_06_Input.txt

Main_06_Output.txt

The first entry of the input file contains an integer number of data values to process (and it is not a mileage value!). After that first entry are real (double) numbers that are the number of miles traveled. Use a while loop to process the mileage values from the input file. Do NOT use an array.

Use an if/else/if construct and the scale below to calculate the mileage reimbursement if the input value is > 0. Well discuss an alternative method in class that you can use if you want. If the mileage value is <= 0, the reimbursement is 0.

The main method should declare all the variables at the start. Do not use a separate class for storage. Create at least the following methods, both called from main:

Method to print heading for the table

Method to output the summary information

Also use the leftPad method in the Toolkit to format and pad numbers.

Output the results to the file and to the console in a table format. (See the end of this document for a sample layout.) There should be a heading for each of the columns of the table. Print one line of output for each mileage value processed. The columns of the table should be lined up by the decimal point which can be done using the leftPad method. Each detail line of the table will contain the number of miles (double print with one decimal place) and the reimbursement amount (double print with two decimal places). If the input value is <= 0, output five stars in place of the reimbursement amount.

After all the data values have been processed, output to the file the total of the reimbursement values, the number of mileage values processed, and the number of mileage values that are > 0. Include phrases to identify each of the numbers.

The input data is in file Main_06_Input.txt which has been uploaded to ZyLabs. You can use this file for testing; it is found in Blackboard > Assignments. The data is:

10 250.6 99.4 -2.78 999.4 799.4 1899.8 0 1300.2 1101.7 3333.3

(The first number is the number of numbers to process.)

DO NOT change these numbers.

Here is the reimbursement scale:

Round trip mileage Rate

less than 400 miles 18 cents per mile

400, < 900 miles $ 65.00 plus 15 cents for each mile over 400

900 miles, < 1300 miles $115.00 plus 12 cents for each mile over 900

1300, < 1900 miles $140.00 plus 10 cents for each mile over 1300

1900, < 2600 miles $165.00 plus 8 cents for each mile over 1900

2600 miles $195.00 plus 6 cents for each mile over 2600

Be sure to appropriately document your program as has been done in previous assignments.

Discussion

1. Outlining the program

2. Methods to use

3. How to test the program (sample input file: 1 250.6. I.E., use one number at a time in each scale range)

4. The leftPad method (time permitting: develop the method in class)

___________________________________________________________________________

Sample Tabular Layout for the Report

Mileage Reimbursement

---------- ---------------------

250.6 (calcd reimbursement)

99.4 (calcd reimbursement)

-2.8 *****

etc.

Follow the detail lines with the summary information.

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

Step: 3

blur-text-image

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

Beginning Apache Cassandra Development

Authors: Vivek Mishra

1st Edition

1484201426, 9781484201428

Students also viewed these Databases questions