In this lab we had to re-create Lab #1 but separating it into classes. First, we had to create a class and name it TemperatureSensor. The TemperatureSensor class implements at the following methods: getWinterTemp, getSpringTemp, getSummerTemp, getFallTemp. Method getWinterTemp returns a number between 20-40, getSpringTemp between 40-70, getSummerTemp between 70-90, and getFallTemp between 40-60. Then we had to create another class TemperatureSensorStats that will implement the application.
import java.io.IOException; import java.util.InputMismatchException; import java.util.Scanner; public class TemperatureSensorStats { int Season=0; int FirstTemperature=0; int LastTemperature=0; int MinTemperature=0; int MaxTemperature=0; int Sum=0; int avgTemp=0; private static Scanner input; public static void main(String args[]) { int Season=0; int FirstTemperature=0; int LastTemperature=0; int MinTemperature=0; int MaxTemperature=0; int Sum=0; int avgTemp=0; input = new Scanner(System.in); boolean done = false; while(Season!=5) { try { System.out.println("\n Please choose the season you would like to simulate:\n"); System.out.println(" Enter 1 for Winter." + "\n Enter 2 for Spring." + "\n Enter 3 for Summer." + "\n Enter 4 for Fall." + "\n Enter 5 to Exit."); Season = input.nextInt(); if(Season>5 || Season<1) throw new IOException("!!!!ERROR!!!! \n The number you have chosen is either too high or too low.\n Your options are 1, 2, 3, 4, and 5. "); done=true; } catch (InputMismatchException e) { System.out.println("!!!ERROR!!! \n You have not chosen an integer.\n Your integer options are 1, 2, 3, 4, and 5."); input.next(); } catch (IOException exc) { System.out.println(exc.getMessage()); } if (Season!=5 && done==true) { Sum=0; avgTemp=0; System.out.print("How much tempature simulation would you like? "); int numSim = input.nextInt(); for(int i=1;i<=numSim;i++) { TemperatureSensor temp = new TemperatureSensor(); if (Season==1) { temp.setWintertemp((int)(20 * Math.random() + 20)); System.out.println("Temperature Simulation # " + i + ": " + (temp.getWintertemp())); if (i == 1) { MaxTemperature=temp.getWintertemp(); MinTemperature=temp.getWintertemp(); FirstTemperature=temp.getWintertemp(); } if (i == numSim) LastTemperature=temp.getWintertemp(); if (temp.getWintertemp()>MaxTemperature) MaxTemperature=temp.getWintertemp(); if (temp.getWintertemp()<MinTemperature) MinTemperature=temp.getWintertemp(); Sum = Sum + temp.getWintertemp(); } if (Season==2) { temp.setSpringtemp((int)(30 * Math.random() + 40)); System.out.println("Temperature Simulation # " + i + ": " +temp.getSpringtemp()); if (i == 1) { MaxTemperature=temp.getSpringtemp(); MinTemperature=temp.getSpringtemp(); FirstTemperature=temp.getSpringtemp(); } if (i == numSim) LastTemperature=temp.getSpringtemp(); if (temp.getSpringtemp()>MaxTemperature) MaxTemperature=temp.getSpringtemp(); if (temp.getSpringtemp()<MinTemperature) MinTemperature=temp.getSpringtemp(); Sum = Sum + temp.getSpringtemp(); } if (Season==3) { temp.setSummertemp((int)(20 * Math.random() + 70)); System.out.println("Temperature Simulation # " + i + ": " + (temp.getSummertemp())); if (i == 1) { MaxTemperature=temp.getSummertemp(); MinTemperature=temp.getSummertemp(); FirstTemperature=temp.getSummertemp(); } if (i == numSim) LastTemperature=temp.getSummertemp(); if (temp.getSummertemp()>MaxTemperature) MaxTemperature=temp.getSummertemp(); if (temp.getSummertemp()<MinTemperature) MinTemperature=temp.getSummertemp(); Sum = Sum + temp.getSummertemp(); } if (Season==4) { temp.setFalltemp((int)(20 * Math.random() + 40)); System.out.println("Temperature Simulation # " + i + ": " +temp.getFalltemp()); if (i == 1) { MaxTemperature=temp.getFalltemp(); MinTemperature=temp.getFalltemp(); FirstTemperature=temp.getFalltemp(); } if (i == numSim) LastTemperature=temp.getFalltemp(); if (temp.getFalltemp()>MaxTemperature) MaxTemperature=temp.getFalltemp(); if (temp.getFalltemp()<MinTemperature) MinTemperature=temp.getFalltemp(); Sum = Sum + temp.getFalltemp(); } } avgTemp= Sum/numSim; System.out.println("First tempature generated: " + FirstTemperature); System.out.println("Last tempature generated: " + LastTemperature); System.out.println("Lowest tempature generated: "+ MinTemperature); System.out.println("Highest tempature generated: "+ MaxTemperature); System.out.println("Total sum of all temperatures generated: "+Sum); System.out.println("Average for the season: "+avgTemp); } } } } public class TemperatureSensor { private int Winter; private int Summer; private int Spring; private int Fall; public int getWintertemp() { return this.Winter; } public void setWintertemp(int value) { this.Winter = value; } public int getSummertemp() { return this.Summer; } public void setSummertemp(int value) { this.Summer = value; } public int getSpringtemp() { return this.Spring; } public void setSpringtemp(int value) { this.Spring = value; } public int getFalltemp() { return this.Fall; } public void setFalltemp(int value) { this.Fall = value; } }