6.12.5 Lösungen
 
Aufgabe 1

Download:
Haeufigkeit1.java

public class Haeufigkeit1 {
  public static void main(String[] args){
    int[] verteilung = new int[10];
    int zufallsZahl;
    //Initialisierung
    for (int i = 0; i < 10; i++){
      verteilung[i]=0;
    }
    //Erzeugung der Zufallszahlen und Eintrag ins Feld
    for (int i = 1; i <= 100; i++){
      zufallsZahl = (int)(Math.random()*10);
      verteilung[zufallsZahl]++;
    }
    //Ausgabe
    for (int i = 0; i <10; i++){
      //"Grafische" Darstellung
      System.out.print("Haeufigkeit von "+i+": ");
      for (int j = 1; j <= verteilung[i]; j++){
        System.out.print("x");
      }
      System.out.println(" ("+verteilung[i]+")");
    }
}

Beispiel für eine Ausgabe

Haeufigkeit von 0: xxxxxxxxxxx (11)
Haeufigkeit von 1: xxxxxxxxxxxxxxxx (16)
Haeufigkeit von 2: xxxxx (5)
Haeufigkeit von 3: xxxxxxxxxxxxxxx (15)
Haeufigkeit von 4: xxxxxxxxxxx (11)
Haeufigkeit von 5: xxxxxxxxx (9)
Haeufigkeit von 6: xxxxxx (6)
Haeufigkeit von 7: xxxxxxx (7)
Haeufigkeit von 8: xxxxxxxx (8)
Haeufigkeit von 9: xxxxxxxxxxxx (12)

 

Aufgabe 2

Download:
Haeufigkeit2.java

public class Haeufigkeit {
  public static void main(String[] args){
    int[] verteilung = new int[10];
    int zufallsZahl;
    //Initialisierung
    for (int i = 0; i < 10; i++){
      verteilung[i]=0;
    }
    //Erzeugung der Zufallszahlen und Eintrag ins Feld
    for (int i = 1; i <= 100; i++){
      zufallsZahl = (int)(Math.random()*10);
      verteilung[zufallsZahl]++;
    }
    //Ausgabe
    for (int i = 0; i <10; i++){
      //"Grafische" Darstellung
      System.out.print("Rel. Haeufigkeit von "+i+": ");
      System.out.println(" ("+verteilung[i]/100.0+")");
    }
  }
}

Rel. Haeufigkeit von 0: (0.12)
Rel. Haeufigkeit von 1: (0.09)
Rel. Haeufigkeit von 2: (0.1)
Rel. Haeufigkeit von 3: (0.07)
Rel. Haeufigkeit von 4: (0.13)
Rel. Haeufigkeit von 5: (0.07)
Rel. Haeufigkeit von 6: (0.12)
Rel. Haeufigkeit von 7: (0.11)
Rel. Haeufigkeit von 8: (0.07)
Rel. Haeufigkeit von 9: (0.12)

Bei der Division durch die Anzahl der Zufallszahlen (im Quelltext gelb unterlegt) dividieren wir nicht durch 100 sondern durch 100.0. Der Grund dafür ist: die Division durch 100 ist eine Ganzzahldivision und alle Ergebnisse wären Ganzzahlen was in unserem Programm nur '0'en liefert. Dadurch dass wir durch eine Fließkommazahl, nämlich 100.0 dividieren, wird mit '/' eine Division von Fließkommazahlen ausgeführt und auch eine Fließkommazahl als Ergebnis geliefert. Wir sehen, dass die Funktionalität des Divisionsoperators kontextabhängig ist, wir sagen auch, der Operator ist überladen.
 

Aufgabe 3

Download:
Haeufigkeit3.java

public class Haeufigkeit3 {
  public static void main(String[] args){
    int[] verteilung = new int[10];
    int zufallsZahl, max = 0, anzahlMax = 0;
    //Initialisierung
    for (int i = 0; i < 10; i++){
      verteilung[i]=0;
    }
    //Erzeugung der Zufallszahlen und Eintrag ins Feld
    for (int i = 1; i <= 1000; i++){
      zufallsZahl = (int)(Math.random()*10);
      verteilung[zufallsZahl]++;
    }
    
    for (int i = 0; i <10; i++){
      //"Grafische" Darstellung
      System.out.print("Haeufigkeit von "+i+": ");
      System.out.println(verteilung[i]);
      if(verteilung[i] >= max){
         if(verteilung[i] > max){
           max = verteilung[i];
           anzahlMax = 1;
         }
         else{ //hier ist verteilung[i]=max
           anzahlMax++;
         }
      }
    }
    System.out.println("Max: "+max+" Anzahl: "+anzahlMax);
  }
}

Haeufigkeit von 0: 112
Haeufigkeit von 1: 92
Haeufigkeit von 2: 112
Haeufigkeit von 3: 97
Haeufigkeit von 4: 101
Haeufigkeit von 5: 105
Haeufigkeit von 6: 96
Haeufigkeit von 7: 100
Haeufigkeit von 8: 102
Haeufigkeit von 9: 83
Max: 112 Anzahl: 2

 

zu 7 Die Klasse Mathematik
7.1 Die quadratische Gleichung
7.1.1 Die statische methode loeseQuadGl 
zur Startseite www.pohlig.de  (C) MPohlig 2007