UVLevel.java 2.1 KB

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