6.7 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 6.8 Die Klasse Mathematik
6.8.1 Die statische methode loeseQuadGl in der Klasse Mathematik 
zur Startseite www.pohlig.de  (C) MPohlig 2005