Students will design, develop, test and document a Java application that reads data from an input file, processes the data, and then writes the processed data to an output file.
CMIS Program Learning Outcome:
Produce solutions to modern, practical problems using object-oriented programming languages
Prepare clear and precise documentation to support computer and information science applications
This project will allow you to do the following:
• Use the String, Character, and StringBuilder classes and associated methods
• write Java code to read and write data to and from a file
• write clear and unambiguous documentation supporting computer programs and systems
The following requirements provide guidance for your design:
• The application should be run from the command line using command-line arguments to provide the input and output filenames.
• The application should display an appropriate error message if the user forgets to enter the input and output filenames at the command prompt or if the files are not found.
• The application should open the file and read each line of the file.
• For each line read, the application should determine the total number of characters in the line, including white-space characters, determine the number of times the number 4 appears in the line, replace all occurrences of the string "this" with "That", and finally reverse the order of the characters in the line.
• The output file should contain the same number of lines as the input file with the following content for each line:
o total number of characters, including whitespace characters, in the line
o number of times the number 4 appeared in the line
o reversed string (for example, "cats" in the input file would be displayed as "stac")
The items on each line in the output file should be separated by commas (for example: for input line "this4cats", the output line should be "9,1,stac4tahT")
The application should close any open files before exiting.
A detailed user's guide should be developed that clearly documents the way an end user should compile, run, and test the program. Samples of input and resultant output files should be included along with a detailed explanation. The documentation should be clear and free of grammatical and spelling errors. The number of pages should be sufficient to describe the application, i.e., 3-8 single-spaced pages in Times Roman 12 point font.
The user's guide should also include limitations of the program along with suggestions for possible improvements and enhancements for future releases.
The user's guide should be readable using Microsoft Word The page margins should be 1 inch. Lines should be double-spaced. Any figures (screen captures) or tables used should be neatly labeled with a title and a number. (See APA v6 style guides)
All source code should be commented and at a minimum include one block comment at the top of the program containing the course name, the project number, your name, the date, and the platform/compiler you used to develop the project. In addition, there should be at least one comment for each class in the program describing what that class does. Additional comments should be provided for each class method to clarify the program.
>All source code should be indented consistently throughout the program. Variable and method names should describe the role of the variable or method. Single-letter names should be avoided. All constants except 0 and 1 should be named. Constant names should be all uppercase. Variable names should begin in lowercase, but subsequent words should be in title case (e.g., finalSpeed). (see recommended Java code conventions.