Question
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
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started