Hallo
Ich hab einen vorgegeben Quellcode
Jetzt sind meine Aufgaben folgende:
a) Erweitern Sie das Programm um eine dritte Strategie, die zufällig eine der beiden anderen
Strategien auswählt.
b) Welche Gewinnwahrscheinlichkeit ermitteln Sie mit dem Programm f ̈r diese dritte Strategie.
c) Erweitern Sie das Programm so, dass wenn man den Strategieparameter weglässt alle Stra-
tegien nacheinander probiert werden und wenn zusätzlich der Grö̈ssenparameter weggelassen
wird soll die Größe auf 10000 gesetzt werden.
d) Machen Sie einen Vorschlag, wie das Programm geschrieben werden kann, so dass man einen
beliebigen Parameter weglassen kann. Warum funktioniert das mit der bisherigen Lö̈sung nicht?
So ich habs jetzt mehrfach versucht zu lösen, doch irgendwie schaff ich es nicht wirklich :autsch:
Ich hab mir jetzt Gedanken zu a gemacht. Es ist ja eine If Schleife. Soweit ich das sehe, wird die Strategie 1 benutzt, wenn "Strategie" == 1 ist. Ansonsten wird ja Strategie 2 ausgeführt. Damit ich jetzt eine dritte Strategie programmieren kann, die zufällig zwischen den beiden Strategien aussucht, muss ich nicht so eine art math.random eintippen, dass entweder 1 oder bsp 2 aussucht. Also ich muss ja die 1 oder eine andere zahl random kriegen. Sind meine Gedanken richtig oder bin ich auf dem Holzweg?
Ich hab einen vorgegeben Quellcode
Java:
public class Zonk{
public static void main(String[] in){
if(in.length != 2) {
System.out.println("Usage Zonk N Strategy");
}
int winCounter = 0;
int N =Integer.parseInt(in[0]);
int strategy =Integer.parseInt(in[1]);
for (int i=0; i<N; i++) {
int price = (int)(1.0+(Math.random()*3));
int selected = (int)(1.0+(Math.random()*3));
if(strategy == 1) {
// Strategy 1 always change the selection
if (selected != price) winCounter++;
}
else {
// Strategy 2 always keep the selection
if (selected == price) winCounter++;
}
}
System.out.println("P(win)="+((double)winCounter/N));
}
}
Jetzt sind meine Aufgaben folgende:
a) Erweitern Sie das Programm um eine dritte Strategie, die zufällig eine der beiden anderen
Strategien auswählt.
b) Welche Gewinnwahrscheinlichkeit ermitteln Sie mit dem Programm f ̈r diese dritte Strategie.
c) Erweitern Sie das Programm so, dass wenn man den Strategieparameter weglässt alle Stra-
tegien nacheinander probiert werden und wenn zusätzlich der Grö̈ssenparameter weggelassen
wird soll die Größe auf 10000 gesetzt werden.
d) Machen Sie einen Vorschlag, wie das Programm geschrieben werden kann, so dass man einen
beliebigen Parameter weglassen kann. Warum funktioniert das mit der bisherigen Lö̈sung nicht?
So ich habs jetzt mehrfach versucht zu lösen, doch irgendwie schaff ich es nicht wirklich :autsch:
Ich hab mir jetzt Gedanken zu a gemacht. Es ist ja eine If Schleife. Soweit ich das sehe, wird die Strategie 1 benutzt, wenn "Strategie" == 1 ist. Ansonsten wird ja Strategie 2 ausgeführt. Damit ich jetzt eine dritte Strategie programmieren kann, die zufällig zwischen den beiden Strategien aussucht, muss ich nicht so eine art math.random eintippen, dass entweder 1 oder bsp 2 aussucht. Also ich muss ja die 1 oder eine andere zahl random kriegen. Sind meine Gedanken richtig oder bin ich auf dem Holzweg?