Hallo Leute!
Ich komme mit meine HA für meine Einführung in Java nicht klar. Das ging mir in der Vorlesung viel zu schnell und jetzt versteh ich den Kram nicht. Die haben uns dieses Programm hier vorgegeben:
public class Choice {
public static void main(String[] args) {
int winCounter = 0;
int strategy = Integer.parseInt(args[1]);
int N = Integer.parseInt(args[0]);
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) {// always change mind
if (selected != price) winCounter++;
}
else {// always keep the selection
if (selected == price) winCounter++;
}
}
System.out.println("P="+((double)winCounter/N));
}
}
und dazu folgende Aufgaben gestellt:
Betrachten Sie das Programm Choice aus der Vorlesung.
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 Strategien nacheinander probiert werden und wenn zusätzlich der Grössenparameter weggelassen wird soll die Grösse 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?
Wer kann mir bitte (für doofe) erklären, wie das Programm überhaupt funktioniert und was ich in der Aufgabe machen muss?
Kussi, Bloemeken
// edit by vince - Bitte das nächste mal einen aussagenkräftgen Titel verwenden !
Ich komme mit meine HA für meine Einführung in Java nicht klar. Das ging mir in der Vorlesung viel zu schnell und jetzt versteh ich den Kram nicht. Die haben uns dieses Programm hier vorgegeben:
public class Choice {
public static void main(String[] args) {
int winCounter = 0;
int strategy = Integer.parseInt(args[1]);
int N = Integer.parseInt(args[0]);
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) {// always change mind
if (selected != price) winCounter++;
}
else {// always keep the selection
if (selected == price) winCounter++;
}
}
System.out.println("P="+((double)winCounter/N));
}
}
und dazu folgende Aufgaben gestellt:
Betrachten Sie das Programm Choice aus der Vorlesung.
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 Strategien nacheinander probiert werden und wenn zusätzlich der Grössenparameter weggelassen wird soll die Grösse 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?
Wer kann mir bitte (für doofe) erklären, wie das Programm überhaupt funktioniert und was ich in der Aufgabe machen muss?
Kussi, Bloemeken
// edit by vince - Bitte das nächste mal einen aussagenkräftgen Titel verwenden !