Explore BrainMass


Write a Java program to practice the use of Java file I/O. Class methods are needed to break up solution in smaller parts.
Program will read several series of heart rates from a file, compute min, max, & fitness quotient for each series, and output the input data and computed info in an HTML document.
The following 3 files are attached:
1.sample-input.txt, which is a small sample input file,
2.sample-output.html, which is a small sample output file corresponding to the sample-input.txt input file,
3.many-heart-rates.txt, which is a big sample input file.
You have been hired by a medical research group, led by a famous cardiologist that has developed something they call the fitness quotient. The idea is to have a person walk on a treadmill for several minutes and to take his/her heart rate measurement a couple times a minute. This leads to a series of heart rates, e.g., <60,66,72,75,72,74>. The person's fitness quotient is twice the smallest heart rate in this series, divided by the sum of the smallest and largest heart rates. (Notice that neither the duration of the test nor the frequency of heart rate measurements is important, and in general these may vary from test to test and from individual to individual without affecting the fitness quotient.) For example, the individual whose heart rates are those in the above example would have a fitness quotient of 0.889 = (2*60)/(60+75).
The medical research group is interested in a program that will read a file containing heart rate measurements for several anonymous individuals, and will create from it an HTML file that looks like this when viewed in a browser:

Fitness Quotient Minimum Heart Rate Maximum Heart Rate Heart Rate Series
0.919 68 80 68, 69, 76, 78, 77, 77, 78, 80
0.887 67 84 67, 69, 78, 83, 83, 84, 79, 82, 79, 84, 83, 82, 83, 84, 79, 83, 80, 78, 84, 84
0.894 63 78 63, 71, 73, 78, 76
The program will be invoked with two command line arguments, the input file name and the output file name.
The program will perform the following actions:
1.Open an input file whose name is the first argument to the program (args[0]), by using a BufferedReader object
2.Open an output file whose name is the second argument to the program (args[1]), by using a PrintWriter object
3.Output to the file the appropriate opening HTML tags
4.Output to the file the header row of the table
5.For each series of heart rates in the input file, do the following: 1.Input the series of numbers from the input file and store them in an array 2.Compute the min, max, & fitness quotient for the series 3.Output one row of the HTML table to the output file, with the fitness quotient, min & max heart rates, and the list of heart rates 6.Output to the file the appropriate closing HTML tags 7.Close the input and output files.

Make sure to handle all possible IOException exceptions generated by the file I/O calls.
The input file will contain heart rate measurements for several anonymous individuals in the following format:
<number of heart rate series>
<number of heart rate measurements for first individual>
<heart rate 1>
<heart rate 2>
<heart rate 3>
<number of heart rate measurements for second individual>
<heart rate 1>
<heart rate 2>
<heart rate 3>
where the first line <number of heart rate series> is the number of heart rate series in the input file; after that, <number of heart rate measurements for first individual> is the length of the first heart rate series, which is followed by the corresponding number of heart rate measurements, one per line of the input file. Each following heart rate series follows the same format. See sample-input.txt and many-heart-rates.txt for sample input files in this format. Note that the solution has to work with an input file following this format but with an arbitrary number of heart rate series.

The output file format will be HTML. The general structure of the program's output will be the following:
The body of the HTML output file will contain a table.


Solution Summary

Write program from scratch