BinnenTemperatuur.java 2.3 KB

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