Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

EV 1 . 0 will read record data files ( multiple CSV files ) via Java file I / O . The names of the

EV 1.0 will read record data files (multiple CSV files) via Java file I/O. The names of the data files willbe specified by the user using standard input. When EV 1.0 starts, it will enter a data input loop,prompting the user for the name of a data file (Enter data file name: ) and waiting for the user totype a file name and hit enter. If the user enters the name of an available data file, EV 1.0 will openthe file using Java file I/O and read the data. If the user enters the name of a file that is not accessible, EV1.0 will report the error to the user (File is not available.) and continue in the loop, repeating theprompt and waiting again for a file name. If the user hits enter without entering anything else, EV 1.0will exit the data input loop. If no data has been read in when EV 1.0 exits the data input loop, EV1.0 will exit. Otherwise, EV 1.0 will move on to a data manipulation loop (see below).The data files will be organized as they were in the previous homework. However, for this homework,the record/row data may be spread across multiple files. When EV reads in each file, it must makesure the data in that file is internally consistent and alert the user to any errors encountered (as describedin Homework 1). If a record appears in more than one data file, EV will retain the data
read most recently (note the difference from the previous homework, although it will still rejectduplicates within the same file). As each file is read in, EV must update internal tallies of the total numberof EVRecord it attempted to read, the total number of valid record/rows read in, and the total numberof EVRecord currently stored in memory. (Note that these totals may be the same, but they may differ, assome records may be duplicated.After reading in and storing all the records from all the specified files, then you need to create RecordIDs,Emission reduction and Petroleum reduction. After creating those columns for each valid record asspecified in Homework 3, EV will enter a data manipulation loop (as mentioned above). In this loop, EV1.0 will prompt the user with four options: o for output, s for sort, f for find, e for efficiency, and qfor quit (Enter (o)utput,(s)ort,(f)ind,(e)fficiency, or (q)uit: ).If the user selects output, EV 1.0 will prompt the user for a filename (Enter output file name: ) and read itin from the console. If the user hits enter without specifying a filename, EV 1.0 will send the output tostandard out in the console. Otherwise, it will attempt to open the specified file for writing. If the user entersthe name of a file that is not accessible, EV 1.0 will report the error (File is not available.) and repeat theprompt for the file name. If the file is accessible or the user has specified the standard out, EV 1.0 will printout the records in whichever order it is presently ordered, followed by a row showing the internal tallies,for example:Data lines read: 5505; Records in memory: 4217; Invalid records: 750, Duplicate records: 538Other than this trailing row, EV 1.0 will exactly match the output format used by EV 0.1 through EV 0.4.If the user selects sort, EV 1.0 will prompt the user for the data field to sort the record (Enter sort attribute:). The user may enter a numeric value, which corresponds to the column order on which to sort. If the userenters an invalid value for the column field on which to sort, EV 1.0 will return to the data manipulationloop. If the user selects to sort by any valid column, EV 1.0 will sort the data based on those correspondingvalues.If the user selects find from the data manipulation loop, EV 1.0 will prompt the user for the data field onwhich to search (Enter search column: ). As with sort, the user may select a numeric valuecorresponding to the column order on which to search. If the user selects any other invalid column, EV 1.0will return to the data manipulation loop.If the user chooses to find any other valid column, EV 1.0 will prompt the user for the value for search(Enter exact text on which to search for column value: ). If the user enters any text, EV 1.0 will searchfor the given value but does not need to perform any validity check on the input data. If the user just hitsenter without giving a search string, EV 1.0 will return to the data manipulation loop.If EV 1.0 finds one or more fields exactly matching a user request, EV 1.0 should display for the user (bysending to standard out in the console) all the corresponding record in the same format as when printing thedata, but with a trailing row that indicates the number of records found in the format shown in thefollowing example:Records found: 37.If no matching records are found, EV 1.0 should simply send to standard out the line indicating that thenumber of records found is zero:Records found: 0

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

More Books

Students also viewed these Databases questions