Pārlūkot izejas kodu

Windchill toegevoegd

jancoow 11 gadi atpakaļ
vecāks
revīzija
9481a8a824
1 mainītis faili ar 88 papildinājumiem un 0 dzēšanām
  1. 88 0
      WindChill.java

+ 88 - 0
WindChill.java

@@ -0,0 +1,88 @@
+package weerstation;
+
+import java.util.ArrayList;
+
+public class WindChill {
+	
+	//fields
+	private double currentWindChill;
+	private double maxWindChill;
+	private double minWindChill;
+	private double avgWindChill;
+	
+	//constructor
+	public WindChill(Measurement measurement1, ArrayList<Measurement> measurement2){
+		updateRecent(measurement1);
+		update24Hour(measurement2);
+	}
+	
+	//getters & setters
+	public double getCurrentWindChill() {
+		return currentWindChill;
+	}
+
+	public void setCurrentWindChill(double currentWindChill) {
+		this.currentWindChill = currentWindChill;
+	}
+
+	public double getMaxWindChill() {
+		return maxWindChill;
+	}
+
+	public void setMaxWindChill(double maxWindChill) {
+		this.maxWindChill = maxWindChill;
+	}
+
+	public double getMinWindChill() {
+		return minWindChill;
+	}
+
+	public void setMinWindChill(double minWindChill) {
+		this.minWindChill = minWindChill;
+	}
+
+	public double getAvgWindChill() {
+		return avgWindChill;
+	}
+
+	public void setAvgWindChill(double avgWindChill) {
+		this.avgWindChill = Math.round(avgWindChill*100)/100;
+	}
+	
+	//Methods
+	private void calculateMaxMinAvgWindChill(ArrayList<Measurement> laatste24uur){
+		double max = 0;
+		double min = 1000;
+		float avg = 0;
+		for(Measurement minut :laatste24uur){
+			if(minut.getWindChill() > max){
+				max = minut.getWindChill();
+			}
+			if(minut.getWindChill() <  min){
+				min = minut.getWindChill();
+			}
+			avg += minut.getWindChill();
+		}
+		avg /= laatste24uur.size();
+		
+		setAvgWindChill(avg);
+		setMaxWindChill(max);
+		setMinWindChill(min);
+	}
+
+	
+	public void updateRecent(Measurement measurement1){
+		setCurrentWindChill(measurement1.getWindChill());
+	}
+	public void update24Hour(ArrayList<Measurement> measurement2){
+		calculateMaxMinAvgWindChill(measurement2);
+	}
+	
+	public void display(){
+		GUIboard.writeUpperDigits(getCurrentWindChill());
+		GUIboard.writeLeftDigits(getMaxWindChill());
+		GUIboard.writeRightDigits(getMinWindChill());
+		GUIboard.writePageToMatrix("Gevoelstemp in C", "Gemiddelde: " + avgWindChill, "");
+	}
+	
+}