Converted everything to work with polymorphism
Added "Grootheid" to act as a parent to all children classes, it allows the main "Weerstation" to update them all better and with cleaner code.
This commit is contained in:
+29
-91
@@ -1,94 +1,32 @@
|
|||||||
package weerstation;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class AvgWindspeed {
|
public class AvgWindspeed extends Grootheid{
|
||||||
|
|
||||||
//fields
|
//constructor
|
||||||
private double currentWindSpeed;
|
public AvgWindspeed(Measurement measurement1, ArrayList<Measurement> measurement2){
|
||||||
private double maxWindSpeed;
|
updateRecent(measurement1);
|
||||||
private double minWindSpeed;
|
update24Hour(measurement2);
|
||||||
private double avgWindSpeed;
|
}
|
||||||
|
|
||||||
//constructor
|
public void updateRecent(Measurement measurement1){
|
||||||
public AvgWindspeed(Measurement measurement1, ArrayList<Measurement> measurement2){
|
setCurrent(measurement1.getAvgWindSpeed());
|
||||||
updateRecent(measurement1);
|
}
|
||||||
update24Hour(measurement2);
|
|
||||||
}
|
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||||
|
|
||||||
//getters & setters
|
ArrayList<Double> list = new ArrayList<Double>();
|
||||||
public double getCurrentWindSpeed() {
|
|
||||||
return currentWindSpeed;
|
for(Measurement ms : measurement2)
|
||||||
}
|
{
|
||||||
|
list.add(ms.getAvgWindSpeed());
|
||||||
public void setCurrentWindSpeed(double currentWindSpeed) {
|
}
|
||||||
if(currentWindSpeed >= 0){
|
|
||||||
this.currentWindSpeed = currentWindSpeed;
|
calculateMaxMinAvg(list);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
public void display(){
|
||||||
public double getMaxWindSpeed() {
|
super.display();
|
||||||
return maxWindSpeed;
|
GUIboard.writePageToMatrix("Windsnelheid in m/s", "Gemiddelde: " + getAvg(), "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMaxWindSpeed(double maxWindSpeed) {
|
|
||||||
if(maxWindSpeed >= 0){
|
|
||||||
this.maxWindSpeed = maxWindSpeed;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getMinWindSpeed() {
|
|
||||||
return minWindSpeed;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMinWindSpeed(double minWindSpeed) {
|
|
||||||
if(minWindSpeed >= 0){
|
|
||||||
this.minWindSpeed = minWindSpeed;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getAvgWindSpeed() {
|
|
||||||
return avgWindSpeed;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAvgWindSpeed(double avgWindSpeed) {
|
|
||||||
this.avgWindSpeed = Math.round(avgWindSpeed*100)/100;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Methods
|
|
||||||
private void calculateMaxMinAvgWindSpeed(ArrayList<Measurement> laatste24uur){
|
|
||||||
int max = 0;
|
|
||||||
int min = 1000;
|
|
||||||
float avg = 0;
|
|
||||||
for(Measurement minut :laatste24uur){
|
|
||||||
if(minut.getRawAvgWindSpeed() > max){
|
|
||||||
max = minut.getRawAvgWindSpeed();
|
|
||||||
}
|
|
||||||
if(minut.getRawAvgWindSpeed() < min){
|
|
||||||
min = minut.getRawAvgWindSpeed();
|
|
||||||
}
|
|
||||||
avg += minut.getRawWindSpeed();
|
|
||||||
}
|
|
||||||
avg /= laatste24uur.size();
|
|
||||||
|
|
||||||
setAvgWindSpeed(Calculator.windSnelheid((short)avg));
|
|
||||||
setMaxWindSpeed(Calculator.windSnelheid((short)max));
|
|
||||||
setMinWindSpeed(Calculator.windSnelheid((short)min));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void updateRecent(Measurement measurement1){
|
|
||||||
setCurrentWindSpeed(measurement1.getAvgWindSpeed());
|
|
||||||
}
|
|
||||||
public void update24Hour(ArrayList<Measurement> measurement2){
|
|
||||||
calculateMaxMinAvgWindSpeed(measurement2);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void display(){
|
|
||||||
GUIboard.writeUpperDigits(getCurrentWindSpeed());
|
|
||||||
GUIboard.writeLeftDigits(getMaxWindSpeed());
|
|
||||||
GUIboard.writeRightDigits(getMinWindSpeed());
|
|
||||||
GUIboard.writePageToMatrix("Windsnelheid in m/s", "Gemiddelde: " + avgWindSpeed, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,81 +0,0 @@
|
|||||||
|
|
||||||
import java.io.*;
|
|
||||||
import java.net.*;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
public class BinnenTemperatuur
|
|
||||||
{
|
|
||||||
private Measurement laatsteMeting;
|
|
||||||
Measurement meting;
|
|
||||||
ArrayList<Measurement> laatste24uur; //ArrayList om de Temperatuur in op te slaan
|
|
||||||
double temp;
|
|
||||||
double max;
|
|
||||||
double min;
|
|
||||||
double avg;
|
|
||||||
|
|
||||||
public BinnenTemperatuur(Measurement measurement1, ArrayList<Measurement> measurement2)
|
|
||||||
{
|
|
||||||
updateRecent(measurement1);
|
|
||||||
update24Hour(measurement2);
|
|
||||||
}
|
|
||||||
public double binnenTemperatuur()
|
|
||||||
{
|
|
||||||
meting.getInsideTemp();
|
|
||||||
return meting.getInsideTemp();
|
|
||||||
}
|
|
||||||
public double getMaximale()
|
|
||||||
{
|
|
||||||
short maximale = 0; // Maximale is iets boven de 100
|
|
||||||
for(int i=0; i < laatste24uur.size();i++)
|
|
||||||
{
|
|
||||||
if(laatste24uur.get(i).getRawInsideTemp() > maximale)
|
|
||||||
{
|
|
||||||
maximale = laatste24uur.get(i).getRawInsideTemp();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(Calculator.temperatuur((maximale)));
|
|
||||||
}
|
|
||||||
public double getMinimale()
|
|
||||||
{
|
|
||||||
short minimale = 1000; // Minimale is iets onder de 100
|
|
||||||
for(int i=0; i < laatste24uur.size();i++)
|
|
||||||
{
|
|
||||||
if(laatste24uur.get(i).getRawInsideTemp() < minimale)
|
|
||||||
{
|
|
||||||
minimale = laatste24uur.get(i).getRawInsideTemp(); // Defineert average
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return(Calculator.temperatuur((minimale))); // Geeft minimale
|
|
||||||
}
|
|
||||||
public double getAverage()
|
|
||||||
{
|
|
||||||
float average = 0; // Average is nieuw
|
|
||||||
for(int i=0; i < laatste24uur.size();i++)
|
|
||||||
{
|
|
||||||
average += laatste24uur.get(i).getRawInsideTemp(); // Defineert average
|
|
||||||
}
|
|
||||||
average /= laatste24uur.size(); // Berekening average
|
|
||||||
return (Math.round((Calculator.temperatuur(((short)average)))*1000))/1000 ; // Geeft average terug
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateRecent(Measurement measurement1)
|
|
||||||
{
|
|
||||||
this.laatsteMeting = measurement1;
|
|
||||||
temp = laatsteMeting.getInsideTemp();
|
|
||||||
}
|
|
||||||
public void update24Hour(ArrayList<Measurement> measurement2)
|
|
||||||
{
|
|
||||||
this.laatste24uur = measurement2;
|
|
||||||
min = getMinimale();
|
|
||||||
max = getMaximale();
|
|
||||||
avg = getAverage();
|
|
||||||
}
|
|
||||||
public void display()
|
|
||||||
{
|
|
||||||
GUIboard.writeUpperDigits(temp);
|
|
||||||
GUIboard.writeLeftDigits(max);
|
|
||||||
GUIboard.writeRightDigits(min);
|
|
||||||
GUIboard.writePageToMatrix("Binnentemperatuur", "Gemiddelde: " + avg, "");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
|
|
||||||
import java.io.*;
|
|
||||||
import java.net.*;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
/**
|
|
||||||
* Write a description of class OpdrachtDinges here.
|
|
||||||
*
|
|
||||||
* @author (your name)
|
|
||||||
* @version (a version number or a date)
|
|
||||||
*/
|
|
||||||
public class BuitenTemperatuur
|
|
||||||
{
|
|
||||||
private Measurement laatsteMeting;
|
|
||||||
Measurement meting;
|
|
||||||
ArrayList<Measurement> laatste24uur; //ArrayList om de Temperatuur in op te slaan
|
|
||||||
double temp;
|
|
||||||
double max;
|
|
||||||
double min;
|
|
||||||
double avg;
|
|
||||||
|
|
||||||
public BuitenTemperatuur(Measurement measurement1, ArrayList<Measurement> measurement2)
|
|
||||||
{
|
|
||||||
updateRecent(measurement1);
|
|
||||||
update24Hour(measurement2);
|
|
||||||
}
|
|
||||||
public double buitenTemperatuur()
|
|
||||||
{
|
|
||||||
meting.getOutsideTemp();
|
|
||||||
return meting.getOutsideTemp();
|
|
||||||
}
|
|
||||||
public double getMaximale()
|
|
||||||
{
|
|
||||||
short maximale = 0; // Maximale is iets boven de 100
|
|
||||||
for(int i=0; i < laatste24uur.size();i++)
|
|
||||||
{
|
|
||||||
if(laatste24uur.get(i).getRawOutsideTemp() > maximale)
|
|
||||||
{
|
|
||||||
maximale = laatste24uur.get(i).getRawOutsideTemp();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(Calculator.temperatuur((maximale)));
|
|
||||||
}
|
|
||||||
public double getMinimale()
|
|
||||||
{
|
|
||||||
short minimale = 1000; // Minimale is iets onder de 100
|
|
||||||
for(int i=0; i < laatste24uur.size();i++)
|
|
||||||
{
|
|
||||||
if(laatste24uur.get(i).getRawOutsideTemp() < minimale)
|
|
||||||
{
|
|
||||||
minimale = laatste24uur.get(i).getRawOutsideTemp(); // Defineert average
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return(Calculator.temperatuur((minimale))); // Geeft minimale
|
|
||||||
}
|
|
||||||
public double getAverage()
|
|
||||||
{
|
|
||||||
float average = 0; // Average is nieuw
|
|
||||||
for(int i=0; i < laatste24uur.size();i++)
|
|
||||||
{
|
|
||||||
average += laatste24uur.get(i).getRawOutsideTemp(); // Defineert average
|
|
||||||
}
|
|
||||||
average /= laatste24uur.size(); // Berekening average
|
|
||||||
return (Math.round((Calculator.temperatuur(((short)average)))*1000))/1000 ; // Geeft average terug
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateRecent(Measurement measurement1)
|
|
||||||
{
|
|
||||||
this.laatsteMeting = measurement1;
|
|
||||||
temp = laatsteMeting.getOutsideTemp();
|
|
||||||
}
|
|
||||||
public void update24Hour(ArrayList<Measurement> measurement2)
|
|
||||||
{
|
|
||||||
this.laatste24uur = measurement2;
|
|
||||||
min = getMinimale();
|
|
||||||
max = getMaximale();
|
|
||||||
avg = getAverage();
|
|
||||||
}
|
|
||||||
public void display()
|
|
||||||
{
|
|
||||||
GUIboard.writeUpperDigits(temp);
|
|
||||||
GUIboard.writeLeftDigits(max);
|
|
||||||
GUIboard.writeRightDigits(min);
|
|
||||||
GUIboard.writePageToMatrix("Buitentemperatuur", "Gemiddelde: " + avg, "");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+30
-89
@@ -1,91 +1,32 @@
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.net.*;
|
|
||||||
/**
|
|
||||||
* Write a description of class CloudHeight here.
|
|
||||||
*
|
|
||||||
* @author (your name)
|
|
||||||
* @version (a version number or a date)
|
|
||||||
*/
|
|
||||||
public class CloudHeight
|
|
||||||
{
|
|
||||||
Measurement meting;
|
|
||||||
ArrayList<Measurement>laatste24uur;
|
|
||||||
double cloud;
|
|
||||||
private Measurement laatsteMeting;
|
|
||||||
double maxHeight;
|
|
||||||
double minHeight;
|
|
||||||
double avgHeight;
|
|
||||||
|
|
||||||
public CloudHeight(Measurement measurement1, ArrayList<Measurement>measurement2)
|
|
||||||
{
|
|
||||||
updateRecent(measurement1);
|
|
||||||
update24Hour(measurement2);
|
|
||||||
}
|
|
||||||
|
|
||||||
public double Height()
|
|
||||||
{
|
|
||||||
meting.getCloudHeight();
|
|
||||||
return meting.getCloudHeight();
|
|
||||||
}
|
|
||||||
|
|
||||||
public double maximaleHeight()
|
|
||||||
{
|
|
||||||
double max = 0;
|
|
||||||
for(int i = 0; i < laatste24uur.size(); i++)
|
|
||||||
{
|
|
||||||
if(laatste24uur.get(i).getCloudHeight() > max)
|
|
||||||
{
|
|
||||||
max = laatste24uur.get(i).getCloudHeight();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(max);
|
|
||||||
}
|
|
||||||
|
|
||||||
public double minimaleHeight()
|
|
||||||
{
|
|
||||||
double min = 100000;
|
|
||||||
|
|
||||||
for(int i = 0; i < laatste24uur.size(); i++)
|
|
||||||
{
|
|
||||||
if(laatste24uur.get(i).getCloudHeight() < min)
|
|
||||||
{
|
|
||||||
min = laatste24uur.get(i).getCloudHeight();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
System.out.println(min);
|
|
||||||
return(min);
|
|
||||||
}
|
|
||||||
|
|
||||||
public double AverageHeight()
|
|
||||||
{
|
|
||||||
float average =0;
|
|
||||||
for(int i = 0; i < laatste24uur.size(); i++)
|
|
||||||
{
|
|
||||||
average += laatste24uur.get(i).getCloudHeight();
|
|
||||||
}
|
|
||||||
average /=laatste24uur.size();
|
|
||||||
return(average);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateRecent(Measurement measurement1){
|
|
||||||
this.laatsteMeting = measurement1;
|
|
||||||
cloud = laatsteMeting.getCloudHeight();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void update24Hour(ArrayList<Measurement> measurement2){
|
|
||||||
this.laatste24uur = measurement2;
|
|
||||||
minHeight = minimaleHeight();
|
|
||||||
maxHeight = maximaleHeight();
|
|
||||||
avgHeight = AverageHeight();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void display(){
|
|
||||||
GUIboard.writeUpperDigits(cloud);
|
|
||||||
GUIboard.writePageToMatrix("Wolkhoogte", "Gemiddelde: " + avgHeight,"");
|
|
||||||
//GUIboard.writePageToMatrix( "min","min: " + minHeight, "");
|
|
||||||
//GUIboard.writePageToMatrix( "max","max: " + maxHeight, "");
|
|
||||||
System.out.println(maxHeight);
|
|
||||||
System.out.println(minHeight);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public class CloudHeight extends Grootheid{
|
||||||
|
|
||||||
|
//constructor
|
||||||
|
public CloudHeight(Measurement measurement1, ArrayList<Measurement> measurement2){
|
||||||
|
updateRecent(measurement1);
|
||||||
|
update24Hour(measurement2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void updateRecent(Measurement measurement1){
|
||||||
|
setCurrent(measurement1.getCloudHeight());
|
||||||
|
}
|
||||||
|
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||||
|
|
||||||
|
ArrayList<Double> list = new ArrayList<Double>();
|
||||||
|
|
||||||
|
for(Measurement ms : measurement2)
|
||||||
|
{
|
||||||
|
list.add(ms.getCloudHeight());
|
||||||
|
}
|
||||||
|
|
||||||
|
calculateMaxMinAvg(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void display(){
|
||||||
|
super.display();
|
||||||
|
GUIboard.writePageToMatrix("Wolkhoogte", "Gemiddelde: " + getAvg(), "");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,86 @@
|
|||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class Grootheid
|
||||||
|
{
|
||||||
|
// instance variables - replace the example below with your own
|
||||||
|
public double avg;
|
||||||
|
public double max;
|
||||||
|
public double min;
|
||||||
|
public double current;
|
||||||
|
|
||||||
|
//constructor
|
||||||
|
public Grootheid(){
|
||||||
|
avg = 0;
|
||||||
|
max = 0;
|
||||||
|
min = 0;
|
||||||
|
current = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//getters & setters
|
||||||
|
public double getCurrent() {
|
||||||
|
return current;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCurrent(double current) {
|
||||||
|
this.current = current;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getMax() {
|
||||||
|
return max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMax(double max) {
|
||||||
|
this.max= max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getMin() {
|
||||||
|
return min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMin(double min) {
|
||||||
|
this.min = min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getAvg() {
|
||||||
|
return avg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAvg(double avg) {
|
||||||
|
this.avg = avg;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Methods
|
||||||
|
public void calculateMaxMinAvg(ArrayList<Double> laatste24uur){
|
||||||
|
double tempMax = 0;
|
||||||
|
double tempAvg = 0;
|
||||||
|
double tempMin = laatste24uur.get(0);
|
||||||
|
|
||||||
|
for(double ms : laatste24uur){
|
||||||
|
if(ms > tempMax){
|
||||||
|
tempMax = ms;
|
||||||
|
}
|
||||||
|
if(ms < tempMin){
|
||||||
|
tempMin = ms;
|
||||||
|
}
|
||||||
|
tempAvg += ms;
|
||||||
|
}
|
||||||
|
tempAvg /= laatste24uur.size();
|
||||||
|
|
||||||
|
setMax(tempMax);
|
||||||
|
setMin(tempMin);
|
||||||
|
setAvg(tempAvg);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateRecent(Measurement measurement1){
|
||||||
|
|
||||||
|
}
|
||||||
|
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void display(){
|
||||||
|
GUIboard.writeUpperDigits(getCurrent());
|
||||||
|
GUIboard.writeLeftDigits(getMax());
|
||||||
|
GUIboard.writeRightDigits(getMin());
|
||||||
|
}
|
||||||
|
}
|
||||||
+26
-80
@@ -1,86 +1,32 @@
|
|||||||
import java.net.*;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
/**
|
|
||||||
* Write a description of class OpdrachtDinges here.
|
public class InsideHum extends Grootheid{
|
||||||
*
|
|
||||||
* @author (your name)
|
|
||||||
* @version (a version number or a date)
|
|
||||||
*/
|
|
||||||
public class InsideHum
|
|
||||||
{
|
|
||||||
Measurement meting;
|
|
||||||
ArrayList<Measurement> laatste24uur;
|
|
||||||
double vochtigheid;
|
|
||||||
private Measurement laatsteMeting;
|
|
||||||
double max;
|
|
||||||
double min;
|
|
||||||
double avg;
|
|
||||||
|
|
||||||
public InsideHum(Measurement measurement1, ArrayList<Measurement> measurement2)
|
//constructor
|
||||||
{
|
public InsideHum(Measurement measurement1, ArrayList<Measurement> measurement2){
|
||||||
updateRecent(measurement1);
|
updateRecent(measurement1);
|
||||||
update24Hour(measurement2);
|
update24Hour(measurement2);
|
||||||
}
|
|
||||||
|
|
||||||
public double binnenLuchtvochtigheid()
|
|
||||||
{
|
|
||||||
meting.getInsideHum();
|
|
||||||
return meting.getInsideHum();
|
|
||||||
}
|
|
||||||
|
|
||||||
public double berekenMaximale()
|
|
||||||
{
|
|
||||||
short maximale = 0;
|
|
||||||
for(int i=0; i < laatste24uur.size();i++)
|
|
||||||
{
|
|
||||||
if(laatste24uur.get(i).getRawInsideHum() > maximale)
|
|
||||||
{
|
|
||||||
maximale = laatste24uur.get(i).getRawInsideHum();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(maximale);
|
|
||||||
}
|
|
||||||
|
|
||||||
public double berekenMinimale()
|
|
||||||
{
|
|
||||||
short minimale = 100;
|
|
||||||
for(int i=0; i < laatste24uur.size();i++)
|
|
||||||
{
|
|
||||||
if(laatste24uur.get(i).getRawInsideHum() < minimale)
|
|
||||||
{
|
|
||||||
minimale = laatste24uur.get(i).getRawInsideHum();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(minimale);
|
|
||||||
}
|
|
||||||
|
|
||||||
public double berekenAverage()
|
|
||||||
{
|
|
||||||
int average = 0;
|
|
||||||
for(int i=0; i < laatste24uur.size(); i ++)
|
|
||||||
{
|
|
||||||
average += laatste24uur.get(i).getRawInsideHum();
|
|
||||||
}
|
|
||||||
average /= laatste24uur.size();
|
|
||||||
return(average);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void updateRecent(Measurement measurement1){
|
public void updateRecent(Measurement measurement1){
|
||||||
this.laatsteMeting = measurement1;
|
setCurrent(measurement1.getInsideHum());
|
||||||
vochtigheid = laatsteMeting.getInsideHum();
|
}
|
||||||
}
|
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||||
|
|
||||||
public void update24Hour(ArrayList<Measurement> measurement2){
|
ArrayList<Double> list = new ArrayList<Double>();
|
||||||
this.laatste24uur = measurement2;
|
|
||||||
min = berekenMinimale();
|
for(Measurement ms : measurement2)
|
||||||
max = berekenMaximale();
|
{
|
||||||
avg = berekenAverage();
|
list.add(ms.getInsideHum());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void display(){
|
calculateMaxMinAvg(list);
|
||||||
GUIboard.writeUpperDigits(vochtigheid);
|
}
|
||||||
GUIboard.writeLeftDigits(max);
|
|
||||||
GUIboard.writeRightDigits(min);
|
public void display(){
|
||||||
GUIboard.writePageToMatrix("Luchtv. Binnen", "Gemiddelde: " + avg, "");
|
super.display();
|
||||||
}
|
GUIboard.writePageToMatrix("Luchtv. Binnen", "Gemiddelde: " + getAvg(), "");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class InsideTemp extends Grootheid{
|
||||||
|
|
||||||
|
//constructor
|
||||||
|
public InsideTemp(Measurement measurement1, ArrayList<Measurement> measurement2){
|
||||||
|
updateRecent(measurement1);
|
||||||
|
update24Hour(measurement2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void updateRecent(Measurement measurement1){
|
||||||
|
setCurrent(measurement1.getInsideTemp());
|
||||||
|
}
|
||||||
|
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||||
|
|
||||||
|
ArrayList<Double> list = new ArrayList<Double>();
|
||||||
|
|
||||||
|
for(Measurement ms : measurement2)
|
||||||
|
{
|
||||||
|
list.add(ms.getInsideTemp());
|
||||||
|
}
|
||||||
|
|
||||||
|
calculateMaxMinAvg(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void display(){
|
||||||
|
super.display();
|
||||||
|
GUIboard.writePageToMatrix("Binnentemperatuur", "Gemiddelde: " + getAvg(), "");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+26
-81
@@ -1,87 +1,32 @@
|
|||||||
package weerstation;
|
|
||||||
import java.net.*;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
/**
|
|
||||||
* Write a description of class OpdrachtDinges here.
|
public class OutsideHum extends Grootheid{
|
||||||
*
|
|
||||||
* @author (your name)
|
|
||||||
* @version (a version number or a date)
|
|
||||||
*/
|
|
||||||
public class OutsideHum
|
|
||||||
{
|
|
||||||
Measurement meting; //connectie maken met Measurement klasse
|
|
||||||
ArrayList<Measurement> laatste24uur; //ArrayList om de luchtvochtigheid op te slaan
|
|
||||||
double vochtigheid;
|
|
||||||
private Measurement laatsteMeting;
|
|
||||||
double max;
|
|
||||||
double min;
|
|
||||||
double avg;
|
|
||||||
|
|
||||||
public OutsideHum(Measurement measurement1, ArrayList<Measurement> measurement2)
|
//constructor
|
||||||
{
|
public OutsideHum(Measurement measurement1, ArrayList<Measurement> measurement2){
|
||||||
updateRecent(measurement1);
|
updateRecent(measurement1);
|
||||||
update24Hour(measurement2);
|
update24Hour(measurement2);
|
||||||
}
|
|
||||||
|
|
||||||
public double buitenLuchtvochtigheid()
|
|
||||||
{
|
|
||||||
meting.getOutsideHum(); //waardes van buitenluchtvochtigheid ophalen uit de meting klasse
|
|
||||||
return meting.getOutsideHum();
|
|
||||||
}
|
|
||||||
|
|
||||||
public double berekenMaximale()
|
|
||||||
{
|
|
||||||
short maximale = 0;
|
|
||||||
for(int i=0; i < laatste24uur.size();i++) //zolang i kleiner is dan de grootte van de ArrayList laatste24uur voert het de if-statement uit
|
|
||||||
{
|
|
||||||
if(laatste24uur.get(i).getRawOutsideHum() > maximale) //plek (i) in de ArrayList laatste24uur vraag je de waarde RawOutsideHum van op. Als die groter is dan huidige maximale, vervang je maximale door dat getal.
|
|
||||||
{
|
|
||||||
maximale = laatste24uur.get(i).getRawOutsideHum();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(maximale);
|
|
||||||
}
|
|
||||||
|
|
||||||
public double berekenMinimale()
|
|
||||||
{
|
|
||||||
short minimale = 100;
|
|
||||||
for(int i=0; i < laatste24uur.size();i++)
|
|
||||||
{
|
|
||||||
if(laatste24uur.get(i).getRawOutsideHum() < minimale)
|
|
||||||
{
|
|
||||||
minimale = laatste24uur.get(i).getRawOutsideHum();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(minimale);
|
|
||||||
}
|
|
||||||
|
|
||||||
public double berekenAverage()
|
|
||||||
{
|
|
||||||
short average = 0;
|
|
||||||
for(int i=0; i < laatste24uur.size(); i ++)
|
|
||||||
{
|
|
||||||
average += laatste24uur.get(i).getRawOutsideHum();
|
|
||||||
}
|
|
||||||
average /= laatste24uur.size();
|
|
||||||
return(average);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void updateRecent(Measurement measurement1){
|
public void updateRecent(Measurement measurement1){
|
||||||
this.laatsteMeting = measurement1;
|
setCurrent(measurement1.getOutsideHum());
|
||||||
vochtigheid = laatsteMeting.getOutsideHum();
|
}
|
||||||
}
|
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||||
|
|
||||||
public void update24Hour(ArrayList<Measurement> measurement2){
|
ArrayList<Double> list = new ArrayList<Double>();
|
||||||
this.laatste24uur = measurement2;
|
|
||||||
min = berekenMinimale();
|
for(Measurement ms : measurement2)
|
||||||
max = berekenMaximale();
|
{
|
||||||
avg = berekenAverage();
|
list.add(ms.getOutsideHum());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void display(){
|
calculateMaxMinAvg(list);
|
||||||
GUIboard.writeUpperDigits(vochtigheid);
|
}
|
||||||
GUIboard.writeLeftDigits(max);
|
|
||||||
GUIboard.writeRightDigits(min);
|
public void display(){
|
||||||
GUIboard.writePageToMatrix("Luchtv. Buiten", "Gemiddelde: " + avg, "");
|
super.display();
|
||||||
}
|
GUIboard.writePageToMatrix("Luchtv. Buiten", "Gemiddelde: " + getAvg(), "");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class OutsideTemp extends Grootheid{
|
||||||
|
|
||||||
|
//constructor
|
||||||
|
public OutsideTemp(Measurement measurement1, ArrayList<Measurement> measurement2){
|
||||||
|
updateRecent(measurement1);
|
||||||
|
update24Hour(measurement2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void updateRecent(Measurement measurement1){
|
||||||
|
setCurrent(measurement1.getOutsideTemp());
|
||||||
|
}
|
||||||
|
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||||
|
|
||||||
|
ArrayList<Double> list = new ArrayList<Double>();
|
||||||
|
|
||||||
|
for(Measurement ms : measurement2)
|
||||||
|
{
|
||||||
|
list.add(ms.getOutsideTemp());
|
||||||
|
}
|
||||||
|
|
||||||
|
calculateMaxMinAvg(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void display(){
|
||||||
|
super.display();
|
||||||
|
GUIboard.writePageToMatrix("Buitentemperatuur", "Gemiddelde: " + getAvg(), "");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+13
-77
@@ -1,96 +1,32 @@
|
|||||||
package weerstation;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class RainRate {
|
public class RainRate extends Grootheid{
|
||||||
|
|
||||||
//fields
|
|
||||||
private Measurement laatsteMeting;
|
|
||||||
private ArrayList<Measurement> laatste24Uur;
|
|
||||||
private double currentRainRate;
|
|
||||||
private double maxRainRate;
|
|
||||||
private double minRainRate;
|
|
||||||
private double avgRainRate;
|
|
||||||
|
|
||||||
//constructor
|
//constructor
|
||||||
public RainRate(Measurement measurement1, ArrayList<Measurement> measurement2){
|
public RainRate(Measurement measurement1, ArrayList<Measurement> measurement2){
|
||||||
updateRecent(measurement1);
|
updateRecent(measurement1);
|
||||||
update24Hour(measurement2);
|
update24Hour(measurement2);
|
||||||
}
|
}
|
||||||
|
|
||||||
//getters & setters
|
|
||||||
public double getCurrentRainRate() {
|
|
||||||
return currentRainRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCurrentRainRate(double currentRainRate) {
|
|
||||||
if(currentRainRate >= 0){
|
|
||||||
this.currentRainRate = currentRainRate;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getMaxRainRate() {
|
|
||||||
return maxRainRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMaxRainRate(double maxRainRate) {
|
|
||||||
if(maxRainRate >= 0){
|
|
||||||
this.maxRainRate = maxRainRate;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getMinRainRate() {
|
|
||||||
return minRainRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMinRainRate(double minRainRate) {
|
|
||||||
if(minRainRate >= 0){
|
|
||||||
this.minRainRate = minRainRate;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getAvgRainRate() {
|
|
||||||
return avgRainRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAvgRainRate(double avgRainRate) {
|
|
||||||
this.avgRainRate = avgRainRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Methods
|
|
||||||
public void calculateMaxMinAvgRainRate(){
|
|
||||||
int max = 0;
|
|
||||||
int min = 0;
|
|
||||||
float avg = 0;
|
|
||||||
for(Measurement minut : laatste24Uur){
|
|
||||||
if(minut.getRawRainRate() > max){
|
|
||||||
max = minut.getRawRainRate();
|
|
||||||
}
|
|
||||||
if(minut.getRawRainRate() < min){
|
|
||||||
min = minut.getRawRainRate();
|
|
||||||
}
|
|
||||||
avg += minut.getRawRainRate();
|
|
||||||
}
|
|
||||||
avg /= laatste24Uur.size();
|
|
||||||
|
|
||||||
setAvgRainRate(Calculator.regenmeter((short)avg));
|
|
||||||
setMaxRainRate(Calculator.regenmeter((short)max));
|
|
||||||
setMinRainRate(Calculator.regenmeter((short)min));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateRecent(Measurement measurement1){
|
public void updateRecent(Measurement measurement1){
|
||||||
this.laatsteMeting = measurement1;
|
setCurrent(measurement1.getRainRate());
|
||||||
setCurrentRainRate(laatsteMeting.getRainRate());
|
|
||||||
}
|
}
|
||||||
public void update24Hour(ArrayList<Measurement> measurement2){
|
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||||
this.laatste24Uur = measurement2;
|
|
||||||
calculateMaxMinAvgRainRate();
|
ArrayList<Double> list = new ArrayList<Double>();
|
||||||
|
|
||||||
|
for(Measurement ms : measurement2)
|
||||||
|
{
|
||||||
|
list.add(ms.getRainRate());
|
||||||
|
}
|
||||||
|
|
||||||
|
calculateMaxMinAvg(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void display(){
|
public void display(){
|
||||||
GUIboard.writeUpperDigits(getCurrentRainRate());
|
super.display();
|
||||||
GUIboard.writeLeftDigits(getMaxRainRate());
|
GUIboard.writePageToMatrix("Regenval in mm/h", "Gemiddelde: " + getAvg(), "");
|
||||||
GUIboard.writeRightDigits(getMinRainRate());
|
|
||||||
GUIboard.writePageToMatrix("Regenval in mm/h", "Gemiddelde: " + avgRainRate, "");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+24
-82
@@ -1,90 +1,32 @@
|
|||||||
import java.io.*;
|
|
||||||
import java.net.*;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
/**
|
|
||||||
* Write a description of class OpdrachtDinges here.
|
public class UVLevel extends Grootheid{
|
||||||
*
|
|
||||||
* @author (Tim van Lieshout)
|
|
||||||
* @version (a version number or a date)
|
|
||||||
*/
|
|
||||||
public class UVLevel
|
|
||||||
{
|
|
||||||
Weerstation weerstation;
|
|
||||||
Measurement meting;
|
|
||||||
ArrayList<Measurement> laatste24uur;
|
|
||||||
private Measurement laatsteMeting;
|
|
||||||
double max;
|
|
||||||
double min;
|
|
||||||
double avg;
|
|
||||||
double level;
|
|
||||||
|
|
||||||
public UVLevel(Measurement measurement1, ArrayList<Measurement> measurement2)
|
//constructor
|
||||||
{
|
public UVLevel(Measurement measurement1, ArrayList<Measurement> measurement2){
|
||||||
updateRecent(measurement1);
|
updateRecent(measurement1);
|
||||||
update24Hour(measurement2);
|
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){
|
public void updateRecent(Measurement measurement1){
|
||||||
this.laatsteMeting = measurement1;
|
setCurrent(measurement1.getUVLevel());
|
||||||
level = laatsteMeting.getOutsideHum();
|
}
|
||||||
}
|
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||||
|
|
||||||
public void update24Hour(ArrayList<Measurement> measurement2){
|
ArrayList<Double> list = new ArrayList<Double>();
|
||||||
this.laatste24uur = measurement2;
|
|
||||||
min = berekenMinimale();
|
for(Measurement ms : measurement2)
|
||||||
max = berekenMaximale();
|
{
|
||||||
avg = berekenAverage();
|
list.add(ms.getUVLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void display(){
|
calculateMaxMinAvg(list);
|
||||||
GUIboard.writeUpperDigits(level);
|
}
|
||||||
GUIboard.writeLeftDigits(max);
|
|
||||||
GUIboard.writeRightDigits(min);
|
public void display(){
|
||||||
GUIboard.writePageToMatrix("UVLevel Buiten", "Gemiddelde: " + avg, "");
|
super.display();
|
||||||
}
|
GUIboard.writePageToMatrix("UV Level", "Gemiddelde: " + getAvg(), "");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+14
-25
@@ -1,4 +1,4 @@
|
|||||||
package weerstation;
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -23,13 +23,16 @@ public class Weerstation {
|
|||||||
|
|
||||||
//All the different screen classes
|
//All the different screen classes
|
||||||
|
|
||||||
final List<Object> lstScreens = new ArrayList<Object>();
|
final List<Grootheid> lstScreens = new ArrayList<Grootheid>();
|
||||||
lstScreens.add(new AvgWindspeed(meting1, meting2));
|
lstScreens.add(new AvgWindspeed(meting1, meting2));
|
||||||
lstScreens.add(new RainRate(meting1, meting2));
|
lstScreens.add(new RainRate(meting1, meting2));
|
||||||
lstScreens.add(new BinnenTemperatuur(meting1, meting2));
|
lstScreens.add(new OutsideTemp(meting1, meting2));
|
||||||
lstScreens.add(new BuitenTemperatuur(meting1, meting2));
|
lstScreens.add(new InsideTemp(meting1, meting2));
|
||||||
lstScreens.add(new InsideHum(meting1, meting2));
|
|
||||||
lstScreens.add(new OutsideHum(meting1, meting2));
|
lstScreens.add(new OutsideHum(meting1, meting2));
|
||||||
|
lstScreens.add(new InsideHum(meting1, meting2));
|
||||||
|
lstScreens.add(new CloudHeight(meting1, meting2));
|
||||||
|
lstScreens.add(new WindChill(meting1, meting2));
|
||||||
|
lstScreens.add(new UVLevel(meting1, meting2));
|
||||||
|
|
||||||
|
|
||||||
//Screen switcher
|
//Screen switcher
|
||||||
@@ -41,14 +44,8 @@ public class Weerstation {
|
|||||||
if(currentScreen == lstScreens.size()){
|
if(currentScreen == lstScreens.size()){
|
||||||
currentScreen = 0;
|
currentScreen = 0;
|
||||||
}
|
}
|
||||||
Object obj = lstScreens.get(currentScreen);
|
Grootheid obj = lstScreens.get(currentScreen);
|
||||||
try {
|
obj.display();
|
||||||
obj.getClass().getMethod("display").invoke(obj);
|
|
||||||
} catch (IllegalAccessException | IllegalArgumentException
|
|
||||||
| InvocationTargetException | NoSuchMethodException
|
|
||||||
| SecurityException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}, 0, 5*1000);
|
}, 0, 5*1000);
|
||||||
|
|
||||||
@@ -57,12 +54,8 @@ public class Weerstation {
|
|||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
meting1 = weerstation1.getMostRecentMeasurement();
|
meting1 = weerstation1.getMostRecentMeasurement();
|
||||||
for(Object obj : lstScreens){
|
for(Grootheid obj : lstScreens){
|
||||||
try {
|
obj.updateRecent(meting1);
|
||||||
obj.getClass().getMethod("updateRecent", Measurement.class).invoke(obj, meting1 );
|
|
||||||
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, 60*1000, 60*1000);
|
}, 60*1000, 60*1000);
|
||||||
@@ -72,12 +65,8 @@ public class Weerstation {
|
|||||||
timer.scheduleAtFixedRate(new TimerTask() {
|
timer.scheduleAtFixedRate(new TimerTask() {
|
||||||
public void run() {
|
public void run() {
|
||||||
meting2 = weerstation1.getAllMeasurementsLast24h();
|
meting2 = weerstation1.getAllMeasurementsLast24h();
|
||||||
for(Object obj : lstScreens){
|
for(Grootheid obj : lstScreens){
|
||||||
try {
|
obj.update24Hour(meting2);
|
||||||
obj.getClass().getMethod("update24Hour", ArrayList.class).invoke(obj, meting2 );
|
|
||||||
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, 10*60*1000, 10*60*1000);
|
}, 10*60*1000, 10*60*1000);
|
||||||
|
|||||||
+28
-84
@@ -1,88 +1,32 @@
|
|||||||
package weerstation;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class WindChill {
|
public class WindChill extends Grootheid{
|
||||||
|
|
||||||
//fields
|
//constructor
|
||||||
private double currentWindChill;
|
public WindChill(Measurement measurement1, ArrayList<Measurement> measurement2){
|
||||||
private double maxWindChill;
|
updateRecent(measurement1);
|
||||||
private double minWindChill;
|
update24Hour(measurement2);
|
||||||
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 void updateRecent(Measurement measurement1){
|
||||||
}
|
setCurrent(measurement1.getWindChill());
|
||||||
|
}
|
||||||
public double getMaxWindChill() {
|
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||||
return maxWindChill;
|
|
||||||
}
|
ArrayList<Double> list = new ArrayList<Double>();
|
||||||
|
|
||||||
public void setMaxWindChill(double maxWindChill) {
|
for(Measurement ms : measurement2)
|
||||||
this.maxWindChill = maxWindChill;
|
{
|
||||||
}
|
list.add(ms.getWindChill());
|
||||||
|
}
|
||||||
public double getMinWindChill() {
|
|
||||||
return minWindChill;
|
calculateMaxMinAvg(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMinWindChill(double minWindChill) {
|
public void display(){
|
||||||
this.minWindChill = minWindChill;
|
super.display();
|
||||||
}
|
GUIboard.writePageToMatrix("Gevoelstemperatuur", "Gemiddelde: " + getAvg(), "");
|
||||||
|
}
|
||||||
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, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user