Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Show all work and final output display please. STATION NAME DATE TMAX TMIN 1 STA

ID: 3698586 • Letter: S

Question

Show all work and final output display please.

STATION NAME DATE TMAX TMIN 1 STATION 2 GHCND:USC00471667 CLINTON WI US 3 GHCND:USC00471667 CLINTON WI US 4 GHCND:USC00471667 CLINTON WI US 5 GHCND:USC00471667 CLINTON WI US 6 GHCND:USC00471667 CLINTON WI US 7 GHCND:USC00471667 CLINTON WI US 8 GHCND:USC00471667 CLINTON WI US 9 GHCND:USC00471667 CLINTON WI US 10 GHCND:USC00471667 CLINTON WI US 11 GHCND:USC00471667 CLINTON WI US 12 GHCND:USC00471667 CLINTON WI US 13 GHCND:USC00471667 CLINTON WI US 14 GHCND:USC00471667 CLINTON WI US 15 GHCND:USC00471667 CLINTON WI US 16 GHCND:USC00471667 CLINTON WI US 17 GHCND:USC00471667 CLINTON WI US 18 GHCND:USC00471667 CLINTON WI US 19 GHCND:USC00471667 CLINTON WI US 20 GHCND:USC00471667 CLINTON WI US 21 GHCND:USC00471667 CLINTON WI US 22 GHCND:USC00471667 CLINTON WI US 23 GHCND:USC00471667 CLINTON WI US 24 GHCND:USC00471667 CLINTON WI US 25 GHCND:USC00471667 CLINTON WI US AWND 20120101 20120102 20120103 20120104 20120105 20120106 20120107 20120108 20120109 20120110 20120111 20120112 20120113 20120114 20120115 20120116 20120117 20120118 20120119 56 N/A 83 N/A 67 139 N/A 128 N/A 56 N/A 28 N/A 28 N/A -78 N/A 50 N/A 56 N/A 28 N/A -44 N/A 44 106 N/A -72 117 N/A 167 N/A 22100 N/A -33 N/A 200 N/A 206 N/A 012012044-217 N/A 206 N/A 67 -178 N/A 44 N/A N/A 50 N/A 28 83 50 61 100 122 83 50 28 -139 20120121 20120122 20120123 20120124 -139

Explanation / Answer

WeatherProcess.java


import java.io.*;
import java.util.*;
public class WeatherProcess {
    public static void main(String[] args) {
        //Block of all IO creation
        File data = new File(args[0]);
        File summary = new File(args[1]);
        Scanner scnr = null;
        PrintWriter pw = null;
        try {
            scnr = new Scanner(new FileReader(data));
        }
        catch(IOException ioe){
            System.out.println("IOException happened while creating a Scanner with a FileReader.");
            System.exit(1);
        }
      
        scnr.useDelimiter("[, ]+");
      
        try{
            pw = new PrintWriter(new FileWriter(summary));
        }
        catch(IOException ioe){
            System.out.println("IOException happened while creating a PrintWriter with a FileWriter.");
            System.exit(1);
        }
      
        //Placing first line in Summary File
        pw.print("STATION,STATION_NAME,DATE,TAVG,AVGWNDCHL");
        //Skipping over the first line
        scnr.nextLine();
        //Analysis of file)
        String currStationID = scnr.next();
        String currStation = scnr.next();
        String stationCheck = currStation;
        while(scnr.hasNext()) {
          
            while(currStation == stationCheck) {
                int currDate = scnr.nextInt();
                int currYearMonth = (currDate / 100);//double check to make sure that this is the correct way to get month
                int dateCheck = currYearMonth;
                double avgTemp = 0;
                int tempCounter = 0;
                double avgWndChll = 0;
                int wndChllCounter = 0;
                while(currYearMonth == dateCheck && currStation == stationCheck) {
                    int maxTemp;
                    int minTemp;
                    double avgFTemp;
                    int fCounter = 0;
                    int windSpeed;
                    try{
                        maxTemp = scnr.nextInt();
                        ++fCounter;
                    }
                    catch(InputMismatchException ime) {
                        maxTemp = 0;
                    }
                  
                    try{
                        minTemp = scnr.nextInt();
                        ++fCounter;
                    }
                    catch(InputMismatchException ime) {
                        minTemp = 0;
                    }
                  
                    if(fCounter > 0) {
                        avgFTemp = ((maxTemp + minTemp) / fCounter) * (9/5) + 32;
                        avgTemp += avgFTemp;
                        ++tempCounter;
                        try{
                            windSpeed = scnr.nextInt();
                            ++wndChllCounter;
                            avgWndChll += 35.74 + 0.6215 * avgFTemp - 35.75 * Math.pow(windSpeed, 0.16) + 0.4275 * avgFTemp * Math.pow(windSpeed, 0.16);
                        }
                        catch(InputMismatchException ime) {
                      
                        }
                  
                    }
                }
              
                pw.print(currStationID + "," + currStation + "," + currDate + ",");
              
                if(tempCounter > 0) {
                    //pw.print("" + (avgTemp / tempCounter) + ",");
                }
                else {pw.print("N/A,");}
              
                if(wndChllCounter > 0) {
                    //pw.println(averageWindChill);
                }
                else{pw.println("N/A");}
            }
          
        }
      
        //Closing all inputs and outputs
        scnr.close();
        pw.close();
        //Closing program
        System.exit(0);
    }
}