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
|