BinnenTemperatuur.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. }
  76. }