diff --git a/UVLevel.java b/UVLevel.java new file mode 100644 index 0000000..27fdc28 --- /dev/null +++ b/UVLevel.java @@ -0,0 +1,90 @@ +import java.io.*; +import java.net.*; +import java.util.ArrayList; +/** + * Write a description of class OpdrachtDinges here. + * + * @author (Tim van Lieshout) + * @version (a version number or a date) + */ +public class UVLevel +{ + Weerstation weerstation; + Measurement meting; + ArrayList laatste24uur; + private Measurement laatsteMeting; + double max; + double min; + double avg; + double level; + + public UVLevel(Measurement measurement1, ArrayList measurement2) + { + updateRecent(measurement1); + update24Hour(measurement2); + } + + public double buitenLuchtvochtigheid() + { + meting.getUVLevel(); + return meting.getUVLevel(); + } + + public double berekenMaximale() + { + double maximale = 0; + for(int i=0; i < laatste24uur.size();i++) + { + if(laatste24uur.get(i).getRawUVLevel() > maximale) + { + maximale = laatste24uur.get(i).getUVLevel(); + } + } + return(maximale); + } + + public double berekenMinimale() + { + double minimale = 100; + for(int i=0; i < laatste24uur.size();i++) + { + if(laatste24uur.get(i).getRawOutsideHum() < minimale) + { + minimale = laatste24uur.get(i).getUVLevel(); + } + } + return(minimale); + } + + public double berekenAverage() + { + int average = 0; + for(int i=0; i < laatste24uur.size(); i ++) + { + average += laatste24uur.get(i).getUVLevel(); + } + average /= laatste24uur.size(); + return(average); + } + + public void updateRecent(Measurement measurement1){ + this.laatsteMeting = measurement1; + level = laatsteMeting.getOutsideHum(); + } + + public void update24Hour(ArrayList measurement2){ + this.laatste24uur = measurement2; + min = berekenMinimale(); + max = berekenMaximale(); + avg = berekenAverage(); + } + + public void display(){ + GUIboard.writeUpperDigits(level); + GUIboard.writeLeftDigits(max); + GUIboard.writeRightDigits(min); + GUIboard.writePageToMatrix("UVLevel Buiten", "Gemiddelde: " + avg, ""); + } + + +}