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:
+26
-80
@@ -1,86 +1,32 @@
|
||||
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 InsideHum
|
||||
{
|
||||
Measurement meting;
|
||||
ArrayList<Measurement> laatste24uur;
|
||||
double vochtigheid;
|
||||
private Measurement laatsteMeting;
|
||||
double max;
|
||||
double min;
|
||||
double avg;
|
||||
|
||||
public class InsideHum extends Grootheid{
|
||||
|
||||
public InsideHum(Measurement measurement1, ArrayList<Measurement> measurement2)
|
||||
{
|
||||
updateRecent(measurement1);
|
||||
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);
|
||||
//constructor
|
||||
public InsideHum(Measurement measurement1, ArrayList<Measurement> measurement2){
|
||||
updateRecent(measurement1);
|
||||
update24Hour(measurement2);
|
||||
}
|
||||
|
||||
|
||||
public void updateRecent(Measurement measurement1){
|
||||
this.laatsteMeting = measurement1;
|
||||
vochtigheid = laatsteMeting.getInsideHum();
|
||||
}
|
||||
|
||||
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||
this.laatste24uur = measurement2;
|
||||
min = berekenMinimale();
|
||||
max = berekenMaximale();
|
||||
avg = berekenAverage();
|
||||
}
|
||||
|
||||
public void display(){
|
||||
GUIboard.writeUpperDigits(vochtigheid);
|
||||
GUIboard.writeLeftDigits(max);
|
||||
GUIboard.writeRightDigits(min);
|
||||
GUIboard.writePageToMatrix("Luchtv. Binnen", "Gemiddelde: " + avg, "");
|
||||
}
|
||||
setCurrent(measurement1.getInsideHum());
|
||||
}
|
||||
public void update24Hour(ArrayList<Measurement> measurement2){
|
||||
|
||||
ArrayList<Double> list = new ArrayList<Double>();
|
||||
|
||||
for(Measurement ms : measurement2)
|
||||
{
|
||||
list.add(ms.getInsideHum());
|
||||
}
|
||||
|
||||
calculateMaxMinAvg(list);
|
||||
}
|
||||
|
||||
public void display(){
|
||||
super.display();
|
||||
GUIboard.writePageToMatrix("Luchtv. Binnen", "Gemiddelde: " + getAvg(), "");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user