Select Page
  

I receive the error “There was an issue. Please make sure you specify a file.” Where does the csv file go within the following code and where do you put the csv file in the netbeans package.TestCrime.java————————–/** File: TestCrime.java* Purpose: Display menu to user and output data from various classes*/import java.util.Scanner;public class TestCrime { public static void main(String[] args){ try { //fields Long startTime, endTime, elapsedTime; String userInput; /** Create and instantiate USCrimeClass object * pass command line argument to CsvToArray.getArray static method to convert csv to 2d array * pass the returned array to the constructor as a parameter */ USCrimeClass usCrimes = new USCrimeClass(CsvToArray.getArray(args[0])); //set start time startTime = System.nanoTime(); //setup scanner Scanner stdin = new Scanner(System.in); System.out.println(“n********** Welcome to the US Crime Statistical Application **************************”); //print menu // loop while userInput is not equal to “Q” or “q” while (true) { //Call Menu class static method getMenu and print System.out.println(Menu.getMenu()); //take user input userInput = stdin.nextLine(); //take action based on user choice switch (userInput.toLowerCase()) { case “1”: System.out.println(“nyou have chosen: ” + userInput + “n”); System.out.println(usCrimes.getPercentChanged(“Population”,”1994″,”1995″)); System.out.println(usCrimes.getPercentChanged(“Population”,”1995″,”1996″)); System.out.println(usCrimes.getPercentChanged(“Population”,”1996″,”1997″)); System.out.println(usCrimes.getPercentChanged(“Population”,”1997″,”1998″)); System.out.println(usCrimes.getPercentChanged(“Population”,”1998″,”1999″)); System.out.println(usCrimes.getPercentChanged(“Population”,”1999″,”2000″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2000″,”2001″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2001″,”2002″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2002″,”2003″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2003″,”2004″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2004″,”2005″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2005″,”2006″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2006″,”2007″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2007″,”2008″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2008″,”2009″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2009″,”2010″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2010″,”2011″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2011″,”2012″)); System.out.println(usCrimes.getPercentChanged(“Population”,”2012″,”2013″)); break; case “2”: System.out.println(“nyou have chosen: ” + userInput + “n”); System.out.println(usCrimes.getMinMax(“Murder and nonnegligent manslaughter rate”,”highest”)); break; case “3”: System.out.println(“nyou have chosen: ” + userInput + “n”); System.out.println(usCrimes.getMinMax(“Murder and nonnegligent manslaughter rate”,”lowest”)); break; case “4”: System.out.println(“nyou have chosen: ” + userInput + “n”); System.out.println(usCrimes.getMinMax(“Robbery rate”,”highest”)); break; case “5”: System.out.println(“nyou have chosen: ” + userInput + “n”); System.out.println(usCrimes.getMinMax(“Robbery rate”,”lowest”)); break; case “6”: System.out.println(“nyou have chosen: ” + userInput + “n”); System.out.println(usCrimes.getPercentChanged(“Motor Vehicle Theft”,”1998″,”2012″)); break; case “7”: System.out.println(“nyou have chosen: ” + userInput + “n”); System.out.println(usCrimes.getValueWhen(“Population”,”Violent crime rate”,”highest”)); break; case “8”: System.out.println(“nyou have chosen: ” + userInput + “n”); System.out.println(usCrimes.getValueWhen(“Violent crime rate”, “Burglary rate”,”highest”)); break; case “9”: System.out.println(“nyou have chosen: ” + userInput + “n”); System.out.println(usCrimes.getAllData()); break; case “q”://end time and calculate duration of run in seconds System.out.println(“nThank you for trying the US Crimes Statistics Program”); endTime = System.nanoTime(); //LocalTime.now().toSecondOfDay(); elapsedTime = (endTime – startTime) / 1000000000; System.out.println(“nElapsed time in seconds was: ” + elapsedTime); //exit program without error System.exit(0); break; default: System.out.println(“nInvalid selection. Please choose again.”); break; } //end switch } //end while loop } catch (ArrayIndexOutOfBoundsException oob) { System.out.println(“nThere was an issue. Please make sure you specify a file.”); System.exit(1); } catch (Exception e) { System.out.println(“nThere is something wrong and I don’t know what it could be.”); System.exit(1); } } //end main method} //end TestCrime class—————————————————————USCrimeClass.java———————————/** File: USCrimeClass.java* Purpose: Read in and store data.*/public class USCrimeClass { // ———- fields ———- final int COLUMN = 20; final int ROW = 21; String crimeData2D[][] = new String[ROW][COLUMN]; // ———- Constructors ———- public USCrimeClass(String crime2darray[][]) { this.crimeData2D = crime2darray; } // ——— getMinMax Method ——— protected String getMinMax(String heading, String highestOrLowest) { // ———- Fields ———- int rowIndex = 0; int columnIndex; final int YEARCOLUMNINDEX = 0; //returnFields String returnYear; String returnValue; String results = “AHHHHH”; //set columnIndex to matching heading columnIndex = ArrayUtils.getHeadingIndex(this.crimeData2D, heading); switch (highestOrLowest){ case “highest”: //based on columnIndex set rowIndex to the highest value rowIndex = ArrayUtils.getMaxValueRowIndex(this.crimeData2D, columnIndex); break; case “lowest”: //based on columnIndex set rowIndex to the lowest value rowIndex = ArrayUtils.getMinValueRowIndex(this.crimeData2D, columnIndex); break; default: System.out.println(“you are dumb, high or low?”); break; } //based on rowIndex get the year for that row returnYear = crimeData2D[rowIndex][YEARCOLUMNINDEX]; returnValue = crimeData2D[rowIndex][columnIndex]; results = “The ” + highestOrLowest + ” ” + heading + ” was at ” + returnValue + ” in ” + returnYear + “.”; return results; } //end getMinMax method // ——— percentageChange method ———- public String getPercentChanged(String heading, String yearOne, String yearTwo) { // ———- Fields ———- int firstRowIndex; int columnIndex; int secondRowIndex; String returnValue; //search for the first year’s row firstRowIndex = ArrayUtils.getYearIndex(this.crimeData2D, yearOne); //search for the second year’s row secondRowIndex = ArrayUtils.getYearIndex(this.crimeData2D, yearTwo); //search for heading value and set column columnIndex = ArrayUtils.getHeadingIndex(this.crimeData2D, heading); //Calculations double firstStat = Double.parseDouble(crimeData2D[firstRowIndex][columnIndex]); double secondStat = Double.parseDouble(crimeData2D[secondRowIndex][columnIndex]); double difference = ((secondStat – firstStat) / firstStat) * 100; returnValue =”The percentage change for ” + heading + ” from ” + yearOne + ” to ” + yearTwo + ” was ” + difference + “%.”; return returnValue; } //end perChange method // ——— getValueWhen method ———- public String getValueWhen(String firstHeading, String secondHeading, String highestOrLowest) { // ———- Fields ———- int rowIndex = 0; int firstColumnIndex; int secondColumnIndex; final int YEARCOLUMNINDEX = 0; //returnFields String returnYear; String returnValue; String results = “AHHHH”; //search for first heading value and set firstColumnIndex firstColumnIndex = ArrayUtils.getHeadingIndex(this.crimeData2D, firstHeading); //search for first heading value and set secondColumnIndex secondColumnIndex = ArrayUtils.getHeadingIndex(this.crimeData2D, secondHeading); //determine min/max value in secondColumnIndex and return rowIndex switch (highestOrLowest){ case “highest”: //based on columnIndex set rowIndex to the highest value rowIndex = ArrayUtils.getMaxValueRowIndex(this.crimeData2D, secondColumnIndex); break; case “lowest”: //based on columnIndex set rowIndex to the lowest value rowIndex = ArrayUtils.getMinValueRowIndex(this.crimeData2D, secondColumnIndex); break; default: System.out.println(“you are dumb, high or low?”); break; } //sets up return values returnValue = crimeData2D[rowIndex][firstColumnIndex]; returnYear = crimeData2D[rowIndex][YEARCOLUMNINDEX]; results = “The ” + firstHeading + ” was at ” + returnValue + ” when ” + secondHeading + ” was at it’s ” + highestOrLowest + ” in ” + returnYear + “.”; return results; } //end getValueWhen method //Additional Methods go here //This section prints the 2d array — for verification public StringBuilder getAllData() { //This section prints the 2d array — for verification //sets the row StringBuilder allData = new StringBuilder(“********** US Crime Statistical Data **********n”); for (int i = 0; i < ROW; i++) { //sets the columns for (int j = 0; j < COLUMN; j++) { allData.append(crimeData2D[i][j] + "t"); } allData.append("n"); } return allData; } //end getAllData method} //end USCrimeClass---------------------------------------------------------------Menu.java---------------------------------/** File: Menu.java* Purpose: return menu as a string when called*/public class Menu { public static String getMenu() { //instantiate and read menu into string variable String menu = "n" + "Enter the number of the question you want answered. Enter ‘Q’ to quit the program :n" + "1. What were the percentages in population growth for each consecutive year from 1994 – 2013?n" + "2. What year was the Murder rate the highest?n" + "3. What year was the Murder rate the lowest?n" + "4. What year was the Robbery rate the highest?n" + "5. What year was the Robbery rate the lowest?n" + "6. What was the total percentage change in Motor Vehicle Theft between 1998 and 2012?n" + "7. What was the Population when the Violent crime rate was the highest?n" + "8. What was Violent crime rate when the Burglary rate was the highest?n" + "9. View a table of all statistical data.n" + "Q. Quit the programn" + "Enter your selection:" + ""; return menu; } // end getMenu method} // end Menu class---------------------------------------------------------------ArrayUtils.java---------------------------------/** File: Menu.java* Purpose: provides various utilities to find array indexes based on some search criteria*/public class ArrayUtils { // ----------- fields ---------- private static final int YEARCOLUMNINDEX = 0; private static final int HEADINGROWINDEX = 0; //getHeadingIndex - column public static int getHeadingIndex(String[][] array, String heading){ int columnIndex = 0; for (int i = 1; i < 20; i++){ if (array[HEADINGROWINDEX][i].equals(heading)){ columnIndex = i; } } return columnIndex; } //end getHeadingIndex method //getYearIndex - row public static int getYearIndex(String[][] array, String year){ int rowIndex = 0; for (int i = 1; i < 21; i++){ if (array[i][YEARCOLUMNINDEX].equals(year)){ rowIndex = i; } } return rowIndex; } //end getHeadingIndex method //getMaxValueRowIndex public static int getMaxValueRowIndex(String[][] array, int columnIndex){ double maxValue = 0; double value; int rowIndex = 0; for (int i = 1; i < 21; i++){ value = Double.parseDouble(array[i][columnIndex]); if (maxValue < value) { maxValue = value; rowIndex = i; } } return rowIndex; } //end getMaxValueRowIndex method //getMinValueRowIndex public static int getMinValueRowIndex(String[][] array, int columnIndex){ double minValue = 1000000000; double value; int rowIndex = 0; for (int i = 1; i < 21; i++){ value = Double.parseDouble(array[i][columnIndex]); if (minValue > value) { minValue = value; rowIndex = i; } } return rowIndex; } //end getMinValueRowIndex method} //end ArraysUtils class—————————————————————CsvToArray.java———————————/**File: USCrimeClass.java* Purpose: take csv filename passed and read csv into a 2d array and return array*/import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class CsvToArray { public static String[][] getArray (String filename){ //fields BufferedReader br = null; final int COLUMN = 20; final int ROW = 21; String array[][] = new String[ROW][COLUMN]; //Read the CSV file //Setup try/catch/finally blocks for exception handling try { //setup input reader String currentLine; br = new BufferedReader(new FileReader(filename)); //while loop to read input, provide output and count int count = 0; while ((currentLine = br.readLine()) != null) { for (int i = count; i < ROW; i++) { array[i] = currentLine.split(","); } count++; } } catch (IOException e) { //output exception stack System.out.println("nThere was an issue. Please make sure you have the correct file."); System.exit(1); } finally { try { if (br != null) { br.close(); } } catch (IOException ex) { System.out.println("nThere was an issue."); System.exit(1); } } return array; }}

Don't use plagiarized sources. Get Your Custom Essay on
Need help making the following code work. Where does the csv file go in the code and in netbeans?
Just from $10/Page
Order Essay

Order your essay today and save 10% with the discount code ESSAYHSELP