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 }