BuitenTemperatuur.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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 (your name)
  8. * @version (a version number or a date)
  9. */
  10. public class BuitenTemperatuur
  11. {
  12. private Measurement laatsteMeting;
  13. Measurement meting;
  14. ArrayList<Measurement> laatste24uur; //ArrayList om de Temperatuur in op te slaan
  15. double temp;
  16. double max;
  17. double min;
  18. double avg;
  19. public BuitenTemperatuur(Measurement measurement1, ArrayList<Measurement> measurement2)
  20. {
  21. updateRecent(measurement1);
  22. update24Hour(measurement2);
  23. }
  24. public double buitenTemperatuur()
  25. {
  26. meting.getOutsideTemp();
  27. return meting.getOutsideTemp();
  28. }
  29. public double getMaximale()
  30. {
  31. short maximale = 0; // Maximale is iets boven de 100
  32. for(int i=0; i < laatste24uur.size();i++)
  33. {
  34. if(laatste24uur.get(i).getRawOutsideTemp() > maximale)
  35. {
  36. maximale = laatste24uur.get(i).getRawOutsideTemp();
  37. }
  38. }
  39. return(Calculator.temperatuur((maximale)));
  40. }
  41. public double getMinimale()
  42. {
  43. short minimale = 1000; // Minimale is iets onder de 100
  44. for(int i=0; i < laatste24uur.size();i++)
  45. {
  46. if(laatste24uur.get(i).getRawOutsideTemp() < minimale)
  47. {
  48. minimale = laatste24uur.get(i).getRawOutsideTemp(); // Defineert average
  49. }
  50. }
  51. return(Calculator.temperatuur((minimale))); // Geeft minimale
  52. }
  53. public double getAverage()
  54. {
  55. float average = 0; // Average is nieuw
  56. for(int i=0; i < laatste24uur.size();i++)
  57. {
  58. average += laatste24uur.get(i).getRawOutsideTemp(); // Defineert average
  59. }
  60. average /= laatste24uur.size(); // Berekening average
  61. return (Math.round((Calculator.temperatuur(((short)average)))*1000))/1000 ; // Geeft average terug
  62. }
  63. public void updateRecent(Measurement measurement1)
  64. {
  65. this.laatsteMeting = measurement1;
  66. temp = laatsteMeting.getOutsideTemp();
  67. }
  68. public void update24Hour(ArrayList<Measurement> measurement2)
  69. {
  70. this.laatste24uur = measurement2;
  71. min = getMinimale();
  72. max = getMaximale();
  73. avg = getAverage();
  74. }
  75. public void display()
  76. {
  77. GUIboard.writeUpperDigits(temp);
  78. GUIboard.writeLeftDigits(max);
  79. GUIboard.writeRightDigits(min);
  80. GUIboard.writePageToMatrix("Buitentemperatuur", "Gemiddelde: " + avg, "");
  81. }
  82. }