Frequentietabellen

Als voorbereiding op de volgende opgaven van deze reeks maken we een oefening op frequentietabellen. We gebruiken daarvoor de klasse Worp, omdat we die nu toch al geschreven hebben. Bedoeling is om na te gaan wat de frequentie is waarmee een bepaalde waarde voorkomt, ten opzichte van andere waarden. Zo weet je dat de waarde $$2$$, gevormd door twee dobbelstenen die allebei een $$1$$ vertonen, niet vaak zal voorkomen. Idem voor de waarde $$12$$, die je enkel kan bekomen door met beide dobbelstenen $$6$$ te gooien.

Werk verder in het project Dobbelspel. Schrijf in een nieuwe Java Main Class getiteld MainVoorFrequenties een hoofdprogramma waarin je 40 keer een nieuwe worp aanmaakt, en daarna uitschrijft hoe dikwijls elke waarde voorkwam. De output mag er zo uitzien:

De waarde 0 komt 0 keer voor.
De waarde 1 komt 0 keer voor.
De waarde 2 komt 0 keer voor.
De waarde 3 komt 2 keer voor.
De waarde 4 komt 2 keer voor.
De waarde 5 komt 6 keer voor.
De waarde 6 komt 6 keer voor.
De waarde 7 komt 8 keer voor.
De waarde 8 komt 7 keer voor.
De waarde 9 komt 4 keer voor.
De waarde 10 komt 3 keer voor.
De waarde 11 komt 2 keer voor.
De waarde 12 komt 0 keer voor.

De klasse Frequenties

Voeg de klasse Frequenties toe aan het project. Zet het hoofdprogramma in het bestand MainVoorFrequenties in commentaar, en vervang het door onderstaande code.

            
    public static void main(String[] args) {
        Frequenties f = new Frequenties();
        System.out.println("Gesimuleerd, en frequenties voor 0 t/m 12 onthouden:");
        int[] freq = f.simuleer();
        f.print(freq);                                   
    }
    
Implementeer de klasse Frequenties, zodat bovenstaand hoofdprogramma onderstaande output genereert. (Onder de output vind je nog tips.)
Gesimuleerd, en frequenties voor 0 t/m 12 onthouden:
De waarde 0 komt 0 keer voor.
De waarde 1 komt 0 keer voor.
De waarde 2 komt 5 keer voor.
De waarde 3 komt 5 keer voor.
De waarde 4 komt 6 keer voor.
De waarde 5 komt 10 keer voor.
De waarde 6 komt 19 keer voor.
De waarde 7 komt 12 keer voor.
De waarde 8 komt 14 keer voor.
De waarde 9 komt 17 keer voor.
De waarde 10 komt 4 keer voor.
De waarde 11 komt 6 keer voor.
De waarde 12 komt 2 keer voor.
Een woordje uitleg Als dit gelukt is, voeg je in het hoofdprogramma ook volgende code toe:
            
        System.out.println("\n\nGesimuleerd, en enkel frequenties voor 2 t/m 12 onthouden:");
        int[] freqZuinig = f.simuleerZuinigOpGeheugen();
        f.print(freqZuinig, 2);
        System.out.println("\nUit vorig resultaat afgeleid:");
        f.printMeestMinstFrequent(freqZuinig, 2);                                          
    
Een extra woordje uitleg

Gesimuleerd, en enkel frequenties voor 2 t/m 12 onthouden:
De waarde 2 komt 3 keer voor.
De waarde 3 komt 1 keer voor.
De waarde 4 komt 13 keer voor.
De waarde 5 komt 9 keer voor.
De waarde 6 komt 12 keer voor.
De waarde 7 komt 21 keer voor.
De waarde 8 komt 7 keer voor.
De waarde 9 komt 14 keer voor.
De waarde 10 komt 12 keer voor.
De waarde 11 komt 7 keer voor.
De waarde 12 komt 1 keer voor.

Uit vorig resultaat afgeleid:
Het getal dat meest voorkwam is 7
Het getal dat minst voorkwam is 3

Indienen

Dien in Dodona enkel de klasse Frequenties in.