BinnenTemperatuur.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package weerstation;
  2. import java.io.*;
  3. import java.net.*;
  4. import java.util.ArrayList;
  5. public class BinnenTemperatuur
  6. {
  7. private Measurement laatsteMeting;
  8. Measurement meting;
  9. ArrayList<Measurement> laatste24uur; //ArrayList om de Temperatuur in op te slaan
  10. double temp;
  11. double max;
  12. double min;
  13. double avg;
  14. public BinnenTemperatuur(Measurement measurement1, ArrayList<Measurement> measurement2)
  15. {
  16. updateRecent(measurement1);
  17. update24Hour(measurement2);
  18. }
  19. public double binnenTemperatuur()
  20. {
  21. meting.getInsideTemp();
  22. return meting.getInsideTemp();
  23. }
  24. public double getMaximale()
  25. {
  26. short maximale = 0; // Maximale is iets boven de 100
  27. for(int i=0; i < laatste24uur.size();i++)
  28. {
  29. if(laatste24uur.get(i).getRawInsideTemp() > maximale)
  30. {
  31. maximale = laatste24uur.get(i).getRawInsideTemp();
  32. }
  33. }
  34. return(Calculator.temperatuur((maximale)));
  35. }
  36. public double getMinimale()
  37. {
  38. short minimale = 1000; // Minimale is iets onder de 100
  39. for(int i=0; i < laatste24uur.size();i++)
  40. {
  41. if(laatste24uur.get(i).getRawInsideTemp() < minimale)
  42. {
  43. minimale = laatste24uur.get(i).getRawInsideTemp(); // Defineert average
  44. }
  45. }
  46. return(Calculator.temperatuur((minimale))); // Geeft minimale
  47. }
  48. public double getAverage()
  49. {
  50. short average = 0; // Average is nieuw
  51. for(int i=0; i < laatste24uur.size();i++)
  52. {
  53. average += laatste24uur.get(i).getRawInsideTemp(); // Defineert average
  54. }
  55. average /= laatste24uur.size(); // Berekening average
  56. return(Calculator.temperatuur((average))); // Geeft average terug
  57. }
  58. public void updateRecent(Measurement measurement1)
  59. {
  60. this.laatsteMeting = measurement1;
  61. temp = laatsteMeting.getInsideTemp();
  62. }
  63. public void update24Hour(ArrayList<Measurement> measurement2)
  64. {
  65. this.laatste24uur = measurement2;
  66. min = getMinimale();
  67. max = getMaximale();
  68. avg = getAverage();
  69. }
  70. public void display()
  71. {
  72. GUIboard.writeUpperDigits(temp);
  73. GUIboard.writeLeftDigits(max);
  74. GUIboard.writeRightDigits(min);
  75. GUIboard.writePageToMatrix("Binnentemperatuur", "Gemiddelde: " + avg, "");
  76. }
  77. }