System.out.printf( "%2d : ", i);
int zahl = 9;
Math.sqrt(zahl);
int array[] = new int[37];
for (int i = 0; i <= 100; i++)
array[generator.nextInt(37)]++;
for (int i=0; i < array.length; ++i) {
Anonymous hat gesagt.:array[generator.nextInt(37)]++;
[/code]
hmm ... hier wählt mein random generator die Zahlen zwischen 0 und 37 aus ?!?!?
int zufallzahl = generator.nextInt(37); //--- Zufallzahl zwischen 0 und 36
array[zufallszahl] = array[zufallszahl] + 1; //--- Anzahl der Vorkommen der Zahl <zufallszahl> um 1 erhöhen
for (int i=0; i < array.length; ++i) {
System.out.print("%2d : ", i);
for (int j=0; j < array[i]; ++j)
Random generator = new Random();
int array[] = new int[37]; // Feld zum Speichern der absoluten Häufigkeit einer Zahl
// zehn Mal Kugel
int sum = 0; // Summe zur Mittelwert Bestimmung
int currentRandom; // Zwischenspeicher für die aktuell erzeugte Zufallszahl
for (int i = 0; i <= 100; i++) { // 100 mal
currentRandom = generator.nextInt(37); // Zufallszahl erzeugen
array[currentRandom]++; // Feldindex der Zufallszahl um 1 erhöhen
sum += currentRandom; // Aktuelle Zahl zur Mittelwertsumme dazu addieren
}
double mean = sum / 100.0; // Den Mittelwert bestimmen
double var = 0; // Variable für die Varianz
for (int i = 0; i < array.length; ++i) { // Über alle Felder des Arrays
var += (i-mean)*(i-mean) * array[i]; // (Zahl - Mittelwert)^2 * Anzahl
// <=> (x_i - x_quer) ^2 * n_x_i
System.out.print(i + " : "); // Zahl ausgeben
for (int j = 0; j < array[i]; ++j){ // Über die Anzahl der Zahl
System.out.print('*'); // Einen Stern ausgeben
}
System.out.println(); // Zeilenumbruch ausgeben
}
var =Math.sqrt(var / 100.0); // Die summierten diverenzen durch die Anzahl der Zahlen
// teilen und die Wurzel ziehen.
System.out.println("mean: " + mean + "\n" + // Mittelwert und Varianz ausgeben
"var : " + var);
Anonymous hat gesagt.:Code:for (int i=0; i < array.length; ++i) { System.out.print("%2d : ", i); for (int j=0; j < array[i]; ++j) { System.out.print('*'); } System.out.println()); }
Trotz langen Überlegens steh´ ich aber bei diesem Teil des Codes auf der Leitung ...
import java.util.Random;
import java.util.Random;
public class Roulette {
public static void main(String[] args) {
Random generator = new Random();
int array[] = new int[37];
// zehn Mal Kugel
int sum = 0;
int currentRandom;
for (int i = 0; i <= 340; i++) {
currentRandom = generator.nextInt(37);
array[currentRandom]++;
sum += currentRandom;
}
double mean = sum / 340.0;
double var = 0;
for (int i = 0; i < array.length; ++i) {
var += (i-mean)*(i-mean) * array[i];
System.out.print(i + " : ");
for (int j = 0; j < array[i]; ++j){
System.out.print('*');
}
System.out.println();
}
var =Math.sqrt(var / 340.0);
System.out.println("mean: " + mean + "\n" +
"var : " + var); }
}
Muss ich nur in den for Schleifen die 0 durch eine 1 ersetzten ?
anscheinend nicht, denn das funktioniert nicht icon_wink.gif
currentRandom = generator.nextInt(37);
currentRandom = (generator.nextInt(36)+1);
import java.util.Random;
public class Wuerfel {
public static void main(String[] args) {
Random generator = new Random();
int array[] = new int[18];
// zehn Mal Kugel
int sum = 0;
int currentRandom;
for (int i = 0; i <= 340; i++) {
currentRandom = (generator.nextInt(17)+1);
array[currentRandom]++;
sum += currentRandom;
}
double mean = sum / 340.0;
double var = 0;
for (int i = 0; i < array.length; ++i) {
var += (i-mean)*(i-mean) * array[i];
System.out.print(i + " : ");
for (int j = 0; j < array[i]; ++j){
System.out.print('*');
}
System.out.println();
}
var =Math.sqrt(var / 340.0);
System.out.println("mean: " + mean + "\n" +
"var : " + var); }
}