Advertisement
Guest User

Meting

a guest
Feb 18th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.69 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package meting;
  7.  
  8. import java.time.LocalDate;
  9.  
  10. /**
  11.  *
  12.  * @author louis.raes
  13.  */
  14. public class Meting {
  15.  
  16.     final String NAAM;
  17.     final int JAAR;
  18.     double[][] meetwaarden;
  19.  
  20.     public Meting(String naam, int jaar) {
  21.         this.NAAM = naam;
  22.         this.JAAR = jaar;
  23.         this.meetwaarden = new double[12][];
  24.     }
  25.  
  26.     public void zetWaardenVoorMaand(int maand, double[] tempWaarden) {
  27.         this.meetwaarden[maand] = tempWaarden;
  28.  
  29.     }
  30.  
  31.     private String getalNaarMaand(int maand) {
  32.         switch (maand) {
  33.             case 0:
  34.                 return ("JAN");
  35.             case 1:
  36.                 return ("FEB");
  37.             case 2:
  38.                 return ("MAR");
  39.             case 3:
  40.                 return ("APR");
  41.             case 4:
  42.                 return ("MAY");
  43.             case 5:
  44.                 return ("JUN");
  45.             case 6:
  46.                 return ("JUL");
  47.             case 7:
  48.                 return ("AUG");
  49.             case 8:
  50.                 return ("SEP");
  51.             case 9:
  52.                 return ("OCT");
  53.             case 10:
  54.                 return ("NOV");
  55.             case 11:
  56.                 return ("DEC");
  57.         }
  58.         return ("ongeldige waarde");
  59.  
  60.     }
  61.  
  62.     public String geefOverzichtMeetwaarden() {
  63.         String resultaat = "Overzicht meetwaarden: \n";
  64.         for (int i = 0 ; i < 12 ; i++) {
  65.             resultaat = resultaat.concat(getalNaarMaand(i) + "'"+ this.JAAR + ":\t");
  66.             for (int j = 0 ; j< this.meetwaarden[i].length ;j++) {
  67.                 resultaat = resultaat.concat(this.meetwaarden[i][j] + "\t");
  68.             }
  69.             resultaat = resultaat.concat("\n");
  70.         }
  71.  
  72.         return (resultaat);
  73.  
  74.     }
  75.  
  76.     public String geefAnalyse() {
  77.         String resultaat = "Analyse:\n";
  78.         resultaat = resultaat.concat("maand\tminimum\tmaximum\tgemiddelde \n" );
  79.         resultaat = resultaat.concat("_____\t_____\t_____\t__________\n");
  80.          for (int i = 0 ; i < 12 ; i++) {
  81.             resultaat = resultaat.concat(getalNaarMaand(i) + "'"+ this.JAAR + ":\t");
  82.             resultaat = resultaat.concat(minimumWaarde(i) + "\t" + maximumWaarde(i) + "\t" + gemiddelde(i));
  83.          }
  84.          return(resultaat);
  85.        
  86.  
  87.     }
  88.     private double minimumWaarde(int maand){
  89.         double laagste = this.meetwaarden[maand][0];
  90.         for (int i = 1; i < this.meetwaarden[maand].length;i++) {
  91.             if (this.meetwaarden[maand][i] < laagste) {
  92.                 laagste = this.meetwaarden[maand][i];
  93.             }
  94.         }
  95.         return(laagste);
  96.        
  97.        
  98.     }
  99.     private double maximumWaarde(int maand){
  100.         double hoogste = this.meetwaarden[maand][0];
  101.         for (int i = 1; i < this.meetwaarden[maand].length;i++) {
  102.             if (this.meetwaarden[maand][i] > hoogste) {
  103.                 hoogste = this.meetwaarden[maand][i];
  104.             }
  105.         }
  106.         return(hoogste);
  107.        
  108.     }
  109.     private double gemiddelde(int maand){
  110.         double gemiddelde = 0;
  111.         for (int i = 0 ; i < this.meetwaarden[maand].length ;i++) {
  112.             gemiddelde= gemiddelde + this.meetwaarden[maand][i];
  113.            
  114.         }
  115.         gemiddelde = gemiddelde/this.meetwaarden[maand].length;
  116.         gemiddelde = Math.round(gemiddelde *10.0)/10.0;
  117.         return(gemiddelde);
  118.        
  119.     }
  120.  
  121.     public double geefWaardeHoogsteMeting() {
  122.         double hoogste = maximumWaarde(0);
  123.         for (int i = 1; i < this.meetwaarden.length;i++) {
  124.             if (maximumWaarde(i) > hoogste) {
  125.                 hoogste = maximumWaarde(i);
  126.             }
  127.            
  128.         }
  129.         return(hoogste);
  130.  
  131.     }
  132.  
  133.     public double geefWaardeLaagsteMeting() {
  134.         double laagste = minimumWaarde(0);
  135.         for (int i = 1; i < this.meetwaarden.length;i++) {
  136.             if (minimumWaarde(i) < laagste) {
  137.                 laagste = minimumWaarde(i);
  138.             }
  139.         }
  140.         return (laagste);
  141.  
  142.     }
  143.  
  144.     public LocalDate geefDatumHoogsteMeting() {
  145.         int hoogsteMaand=1;
  146.         int hoogsteDag=1;
  147.         double hoogste = geefWaardeHoogsteMeting();
  148.         for (int i = 0 ; i < this.meetwaarden.length;i++) {
  149.             for (int j = 0 ; j < this.meetwaarden[i].length;j++) {
  150.                 if (this.meetwaarden[i][j] == hoogste) {
  151.                     hoogsteMaand = i+1;
  152.                     hoogsteDag = j+1;
  153.                    
  154.                 }
  155.             }
  156.         }
  157.         return(LocalDate.of(this.JAAR,hoogsteMaand,hoogsteDag));
  158.  
  159.  
  160.     }
  161.  
  162.     public LocalDate geefDatumLaagsteMeting() {
  163.         int laagsteMaand=1;
  164.         int laagsteDag=1;
  165.         double laagste = geefWaardeLaagsteMeting();
  166.         for (int i = 0 ; i < this.meetwaarden.length;i++) {
  167.             for (int j = 0 ; j < this.meetwaarden[i].length;j++) {
  168.                 if (this.meetwaarden[i][j] == laagste) {
  169.                     laagsteMaand = i+1;
  170.                     laagsteDag = j+1;
  171.                    
  172.                 }
  173.             }
  174.         }
  175.         return(LocalDate.of(this.JAAR,laagsteMaand,laagsteDag));
  176.     }
  177.    
  178.     public double geefWaardeHoogsteMaandgemiddelde() {
  179.         double hoogste = gemiddelde(0);
  180.         for (int i = 1; i < this.meetwaarden.length;i++) {
  181.             if (gemiddelde(i) > hoogste) {
  182.                 hoogste = gemiddelde(i);
  183.             }
  184.            
  185.         }
  186.         return(hoogste);
  187.        
  188.     }
  189.    
  190.     public double geefWaardeLaagsteMaandgemiddelde() {
  191.         double laagste = gemiddelde(0);
  192.         for (int i = 1; i < this.meetwaarden.length;i++) {
  193.             if (gemiddelde(i) < laagste) {
  194.                 laagste = gemiddelde(i);
  195.             }
  196.         }
  197.         return (laagste);
  198.        
  199.     }
  200.  
  201.     public String geefMaandHoogsteMaandgemiddelde() {
  202.         double hoogste = gemiddelde(0);
  203.         String hoogsteMaand = getalNaarMaand(0);
  204.         for (int i = 1; i < this.meetwaarden.length;i++) {
  205.             if (gemiddelde(i) > hoogste) {
  206.                 hoogste = gemiddelde(i);
  207.                 hoogsteMaand = getalNaarMaand(i);
  208.             }
  209.            
  210.         }
  211.         return(hoogsteMaand);
  212.  
  213.  
  214.     }
  215.  
  216.     public String geefMaandLaagsteMaandgemiddelde() {
  217.         double laagste = minimumWaarde(0);
  218.         String laagsteMaand = getalNaarMaand(0);
  219.         for (int i = 1; i < this.meetwaarden.length;i++) {
  220.             if (minimumWaarde(i) < laagste) {
  221.                 laagste = minimumWaarde(i);
  222.                 laagsteMaand = getalNaarMaand(i);
  223.             }
  224.         }
  225.         return (laagsteMaand);
  226.  
  227.     }
  228.  
  229. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement