001    package de.hska.info1.felder;
002    
003    /**
004     * Notenspiegel ist verantwortlich, um die Häufigkeiten
005     * einer Folge von Noten (1 bis 6) zu bestimmen.
006     * 
007     * @author Christian Pape
008     *
009     */
010    public class Notenspiegel {
011    
012            /**
013             * Der Notenspiegel mit den Häufigkeiten:
014             * notenspiegel[i] ist die Anzahl Noten (i+1)
015             */
016            private int [] notenspiegel = new int[6];
017            
018    
019            /**
020             * Berechnet die Häufigkeiten der gebeben <code>noten</code>
021             * 
022             * @param noten ein Feld mit Zahlen von 1 bis 6; darf
023             *                nicht null sein
024             */
025            public void notenspiegelBerechnen(int [] noten) {
026                    for (int i = 0; i <notenspiegel.length; i++) {
027                            notenspiegel[i] = 0;
028                    }
029                    for (int i = 0; i < noten.length; i++) {
030                            notenspiegel[noten[i] - 1]++;
031                    }
032            }
033    
034            /**
035             * Gibt den Notenspiegel auf der Konsole aus.
036             */
037            public void printNotenspiegel() {
038                    for (int i = 0; i < notenspiegel.length; i++) {
039                            System.out.println("Note " + (i+1) + ": "
040                                            + notenspiegel[i]);
041                    }
042            }
043    
044            /**
045             * Gibt die Häufigkeit der <code>note</code> in diesem
046             * Notenspiegel zurück.
047             * 
048             * @param note eine Zahl von 1 bis  6
049    s        */
050            public int getHaeufigkeit(int note) {
051                    return notenspiegel[note - 1];
052            }
053    }