Janco's klasse van de windspeed, nog geen grafiek & matrixscherm

This commit is contained in:
jancoow
2014-10-06 13:12:55 +02:00
parent 8f6ab9ebce
commit b5ff7198e4
+101
View File
@@ -0,0 +1,101 @@
package weerstation;
import java.util.ArrayList;
public class AvgWindspeed {
//fields
private Measurement laatsteMeting;
private ArrayList<Measurement> laatste24Uur;
private Calculator calculator;
private int pageNumber;
private double currentWindSpeed;
private double maxWindSpeed;
private double minWindSpeed;
private double avgWindSpeed;
//constructor
public AvgWindspeed(Measurement measurement1, ArrayList<Measurement> measurement2, int page){
pageNumber = page;
calculator = new Calculator();
updateRecent(measurement1);
update24Hour(measurement2);
}
//getters & setters
double getCurrentWindSpeed() {
return currentWindSpeed;
}
void setCurrentWindSpeed(double currentWindSpeed) {
if(currentWindSpeed >= 0){
this.currentWindSpeed = currentWindSpeed;
}
}
double getMaxWindSpeed() {
return maxWindSpeed;
}
void setMaxWindSpeed(double maxWindSpeed) {
if(maxWindSpeed >= 0){
this.maxWindSpeed = maxWindSpeed;
}
}
double getMinWindSpeed() {
return minWindSpeed;
}
public void setMinWindSpeed(double minWindSpeed) {
if(minWindSpeed >= 0){
this.minWindSpeed = minWindSpeed;
}
}
double getAvgWindSpeed() {
return avgWindSpeed;
}
public void setAvgWindSpeed(double avgWindSpeed) {
this.avgWindSpeed = avgWindSpeed;
}
//Methods
public void calculateMaxMinAvgWindSpeed(){
int max = 0;
int min = 0;
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){
this.laatsteMeting = measurement1;
setCurrentWindSpeed(laatsteMeting.getAvgWindSpeed());
}
public void update24Hour(ArrayList<Measurement> measurement2){
this.laatste24Uur = measurement2;
calculateMaxMinAvgWindSpeed();
}
public void display(){
GUIboard.writeUpperDigits(getCurrentWindSpeed());
GUIboard.writeLeftDigits(getMaxWindSpeed());
GUIboard.writeRightDigits(getMinWindSpeed());
}
}