BinnenTemperatuur.java 2.4 KB

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