OutsideHum.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package weerstation;
  2. import java.net.*;
  3. import java.util.ArrayList;
  4. /**
  5. * Write a description of class OpdrachtDinges here.
  6. *
  7. * @author (your name)
  8. * @version (a version number or a date)
  9. */
  10. public class OutsideHum
  11. {
  12. Measurement meting; //connectie maken met Measurement klasse
  13. ArrayList<Measurement> laatste24uur; //ArrayList om de luchtvochtigheid op te slaan
  14. double vochtigheid;
  15. private Measurement laatsteMeting;
  16. double max;
  17. double min;
  18. double avg;
  19. public OutsideHum(Measurement measurement1, ArrayList<Measurement> measurement2)
  20. {
  21. updateRecent(measurement1);
  22. update24Hour(measurement2);
  23. }
  24. public double buitenLuchtvochtigheid()
  25. {
  26. meting.getOutsideHum(); //waardes van buitenluchtvochtigheid ophalen uit de meting klasse
  27. return meting.getOutsideHum();
  28. }
  29. public double berekenMaximale()
  30. {
  31. short maximale = 0;
  32. 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
  33. {
  34. 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.
  35. {
  36. maximale = laatste24uur.get(i).getRawOutsideHum();
  37. }
  38. }
  39. return(maximale);
  40. }
  41. public double berekenMinimale()
  42. {
  43. short minimale = 100;
  44. for(int i=0; i < laatste24uur.size();i++)
  45. {
  46. if(laatste24uur.get(i).getRawOutsideHum() < minimale)
  47. {
  48. minimale = laatste24uur.get(i).getRawOutsideHum();
  49. }
  50. }
  51. return(minimale);
  52. }
  53. public double berekenAverage()
  54. {
  55. int average = 0;
  56. for(int i=0; i < laatste24uur.size(); i ++)
  57. {
  58. average += laatste24uur.get(i).getRawOutsideHum();
  59. }
  60. average /= laatste24uur.size();
  61. return(average);
  62. }
  63. public void updateRecent(Measurement measurement1){
  64. this.laatsteMeting = measurement1;
  65. vochtigheid = laatsteMeting.getOutsideHum();
  66. }
  67. public void update24Hour(ArrayList<Measurement> measurement2){
  68. this.laatste24uur = measurement2;
  69. min = berekenMinimale();
  70. max = berekenMaximale();
  71. avg = berekenAverage();
  72. }
  73. public void display(){
  74. GUIboard.writeUpperDigits(vochtigheid);
  75. GUIboard.writeLeftDigits(max);
  76. GUIboard.writeRightDigits(min);
  77. GUIboard.writePageToMatrix("Luchtv. Buiten", "Gemiddelde: " + avg, "");
  78. }
  79. }