Janco's klasse van de windspeed, nog geen grafiek & matrixscherm
This commit is contained in:
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user