Final Project
This assignment demonstrates your understanding of the
concepts from the CMIS 141 class.
Before attempting this project, be sure you have completed
all of the reading assignments, hands-on labs, discussions, and assignments to
date.
Design a Java application that will read a file containing
data related to the US. Crime statistics from 1994-2013. The description of the
file is at the end of this file. The application should provide statistical
results on the data including:
a. Population
growth in percentages from each consecutive year (e.g. 1994-1995 calculation is
((262803276 – 260327021)/260327021)*100 = 0.9512%, 1995-1996 would be
((265228572 – 262803276)/262803276)*100 = 0.9229%)
b. Years where
the maximum and minimum Murder rates occurred.
c. Years where
the maximum and minimum Robbery rates occurred.
The following are some design criteria and specific
requirements that need to be addressed:
a. Use command
line arguments to send in the name of the US Crime Data file.
b. You should
also use Java classes to their full extent to include multiple methods and at
least two classes
c. You are not
allowed to modify the Crime.csv Statistic data file included in this
assignment.
d. Use arrays
and Java classes to store the data. (Hint: You can and should create a
USCrimeClass to store the fields. You can also have an Array of US Crime
Objects.)
e. You should
create separate methods for each of the required functionality. (e.g.
getMaxMurderYear() will return the Year where the Murder rate was highest. )
f. A user-friendly
and well-organized menu should be used for users to select which data to
return. A sample menu is shown in run example. You are free to enhance your
design and you should add additional menu items and functionality.
g. The menu
system should be displayed at the command prompt, and continue to redisplay
after results are returned or until Q is selected. If a user enters an invalid
menu item, the system should redisplay the menu with a prompt asking them to
enter a valid menu selection
h. The application should keep track of the
elapsed time (in seconds) between once the application starts and when the user
quits the program. After the program is exited, the application should provide
a prompt thanking the user for trying the US Crime Statistics program and
providing the total time elapsed.
i. Hint: When
reading the Crimes file, read one line at a time (See ReadEmail.java) and then
within the loop parse each line into the USCrimeClass fields and then store
that USCrimeClass Object into an array. Note you can use String.split(â,â) to
split the CSV line into a the fields for setting the USCrimeClass Object.
Here is sample run:
java TestUSCrime Crime.csv
1
********** Welcome to the US Crime Statistical Application
**************************
Enter the number of the question you want answered. Enter
âQâ to quit the program :
1. What were the
percentages in population growth for each consecutive year from 1994 â 2013?
2. What year was
the Murder rate the highest?
3. What year was
the Murder rate the lowest?
4. What year was
the Robbery rate the highest?
5. What year was
the Robbery rate the lowest?
Q. Quit the program
Enter your selection: 2
The Murder rate was highest in 1994
Enter the number of the question you want answered. Enter
âQâ to quit the program :
1. What were the
percentages in population growth for each consecutive year from 1994 â 2013?
2. What year was
the Murder rate the highest?
3. What year was
the Murder rate the lowest?
4. What year was
the Robbery rate the highest?
5. What year was
the Robbery rate the lowest?
Q. Quit the program
Enter your selection: 5
The Robbery rate was lowest in 2013
Enter the number of the question you want answered. Enter
âQâ to quit the program :
1. What were the
percentages in population growth for each consecutive year from 1994 â 2013?
2. What year was
the Murder rate the highest?
3. What year was
the Murder rate the lowest?
4. What year was
the Robbery rate the highest?
5. What year was
the Robbery rate the lowest?
Q. Quit the program
Enter your selection: Q
Thank you for trying the US Crimes Statistics Program.
Elapsed time in seconds was: 32
The google recommended Java style guide, provided as link in
the week 2 content, should be used to format and document your code.
Specifically, the following style guide attributes should be addressed:
Header comments include filename, author, date and brief
purpose of the program. In-line comments used to describe major functionality
of the code.
Meaningful variable names and prompts applied.
2
Class names are written in UpperCamelCase.
Variable names are written in lowerCamelCase. Constant names
are in written in All Capitals.
Braces use K&R style.
Submission requirements
Deliverables include all Java files (.java) and a single
word (or PDF) document. The Java files should be named appropriately for your
applications. The word (or PDF) document should include screen captures showing
the successful compiling and running of each of the test cases. Each screen
capture should be properly labeled clearly indicated what the screen capture
represents. The test cases table should be included in your word or PDF
document and properly labeled as well.
Submit your files to the Final Project area no later than
the due date listed in your LEO classroom. You should include your name and FP
in your word (or PDF) file submitted (e.g. firstnamelastnameFP.docx or
firstnamelastnameFP.pdf)
Grading Rubric:
The following grading rubric will be used to determine your
grade:
Attribute
Meets
Does not meet
Crimes Class
15 points
0 points
Population growth in
Population growth in
percentages is calculated from
percentages is not calculated
each consecutive year
from each consecutive year
Years where the maximum and
Years where the maximum and
minimum Murder rates
minimum Murder rates
occurred are calculated.
occurred are not calculated.
Years where the maximum and
Years where the maximum and
minimum Robbery rates
minimum Robbery rates
occurred are calculated.
occurred are not calculated.
Command line arguments to
Command line arguments to
send in the name of the US
send in the name of the US
Crime Data file were used.
Crime Data file are not used.
Java classes to their full extent
Java classes to their full extent
to include multiple methods
to include multiple methods
and at least two classes were
and at least two classes are not
used.
used.
3
Crime.csv Statistic data file was
Crime.csv Statistic data file was
not modified.
modified.
Use arrays and Java classes
Use arrays and Java classes are
were used to store the data.
not used to store the data.
Creates separate methods for
Does not create separate
each of the required
methods for each of the
functionality.
required functionality.
A user-friendly and well-
A user-friendly and well-
organized menu was used.
organized menu was not used.
The menu system is displayed at
The menu system is not
the command prompt.
displayed at the command
prompt.
The menu system continues to
redisplay after results are
The menu system does not
returned or until Q is selected.
continue to redisplay after
results are returned or until Q is
If a user enters an invalid menu
selected.
item, the system redisplays the
menu with a prompt asking
If a user enters an invalid menu
them to enter a valid menu
item, the system does not
selection.
redisplay the menu with a
prompt asking them to enter a
The application keeps track of
valid menu selection.
the elapsed time (in seconds)
between the application start
The application does not keep
and when the user quits the
track of the elapsed time (in
program.
seconds) between the
application start and when the
After the program is exited, the
user quits the program.
application provides a prompt
thanking the user for trying the
After the program is exited, the
US Crime Statistics program and
application does not provides a
providing the total time elapsed
prompt thanking the user for
in seconds.
trying the US Crime Statistics
program and providing the total
time elapsed in seconds.
Test Cases
5 points
0 points
A minimum of 3 test cases was
No test cases were provided.
used in the form of table with
columns indicating the input
values, expected output, actual
output and if the test case
passed or failed. The table
4
should contains 4 columns with
appropriate labels and a row for
each test case.
Test cases were included in the
supporting word or PDF
documentation.
Documentation and Style guide
5 points
0 points
Screen captures were provided
No documentation included
and labeled for compiling your
code, and running each of your
Java style guide was not used to
3 test cases.
prepare the Java code.
Header comments include
filename, author, date and brief
purpose of the program.
In-line comments used to
describe major functionality of
the code.
Meaningful variable names and
prompts applied.
Class names are written in
UpperCamelCase.
Variable names are written in
lowerCamelCase.
Constant names are in written
in All Capitals.
Braces use K&R style.
US Crimes Data Description:
The attached Comma delimited file, named Crime.csv contains
US Crime data from 1994 â 2013. The first line in the file contains the field
names. (Note: Do not modify this file in anyway. You should use it as is for
input for your application)
The US Crime data were obtained from this Web Site:
https://www.fbi.gov/about-us/cjis/ucr/crime-in-the-u.s/2013/crime-in-the-u.s.-2013/tables/1tabledatadecoverviewpdf/table_1_crime_in_the_united_states_by_volume_and_rate_pe
r_100000_inhabitants_1994-2013.xls#overview
Our Service Charter
-
Excellent Quality / 100% Plagiarism-Free
We employ a number of measures to ensure top quality essays. The papers go through a system of quality control prior to delivery. We run plagiarism checks on each paper to ensure that they will be 100% plagiarism-free. So, only clean copies hit customers’ emails. We also never resell the papers completed by our writers. So, once it is checked using a plagiarism checker, the paper will be unique. Speaking of the academic writing standards, we will stick to the assignment brief given by the customer and assign the perfect writer. By saying “the perfect writer” we mean the one having an academic degree in the customer’s study field and positive feedback from other customers. -
Free Revisions
We keep the quality bar of all papers high. But in case you need some extra brilliance to the paper, here’s what to do. First of all, you can choose a top writer. It means that we will assign an expert with a degree in your subject. And secondly, you can rely on our editing services. Our editors will revise your papers, checking whether or not they comply with high standards of academic writing. In addition, editing entails adjusting content if it’s off the topic, adding more sources, refining the language style, and making sure the referencing style is followed. -
Confidentiality / 100% No Disclosure
We make sure that clients’ personal data remains confidential and is not exploited for any purposes beyond those related to our services. We only ask you to provide us with the information that is required to produce the paper according to your writing needs. Please note that the payment info is protected as well. Feel free to refer to the support team for more information about our payment methods. The fact that you used our service is kept secret due to the advanced security standards. So, you can be sure that no one will find out that you got a paper from our writing service. -
Money Back Guarantee
If the writer doesn’t address all the questions on your assignment brief or the delivered paper appears to be off the topic, you can ask for a refund. Or, if it is applicable, you can opt in for free revision within 14-30 days, depending on your paper’s length. The revision or refund request should be sent within 14 days after delivery. The customer gets 100% money-back in case they haven't downloaded the paper. All approved refunds will be returned to the customer’s credit card or Bonus Balance in a form of store credit. Take a note that we will send an extra compensation if the customers goes with a store credit. -
24/7 Customer Support
We have a support team working 24/7 ready to give your issue concerning the order their immediate attention. If you have any questions about the ordering process, communication with the writer, payment options, feel free to join live chat. Be sure to get a fast response. They can also give you the exact price quote, taking into account the timing, desired academic level of the paper, and the number of pages.