Ich habe zufällig sein gearbeitet, um die Mitarbeiterzahl Variable zu erhalten, aber dieseKann nicht von Zufallszahlen erhalten
nicht herausfinden könnenpublic class Coin
{
private final int HEADS = 0;
private final int TAILS = 1;
private int face;
private static int seed =0;
private Random r;
public Coin()
{
r = new Random(seed);
flip();
seed++;
}
public void flip()
{
face = r.nextInt(2);
}
public int getFace()
{
return face;
}
public void setFace(int newFace)
{
face = newFace;
}
public boolean isHeads()
{
return (face == HEADS);
}
public String toString()
{
String faceName;
if (face == HEADS)
faceName = "Heads";
else
faceName = "Tails";
return faceName;
}
public static void main(String[] args)
{
Coin myCoin = new Coin();
double randnumber =Math.random();
int headCount=0;
for (int i =1; i<=100; i++)
{
myCoin.flip();
if(myCoin.isHeads())
{
headCount++;
}
}
System.out.println("If I flip my coin 100 times, I get " + headCount + " heads.");
headCount =0;
for (int i =1; i<=100; i++)
{
Coin yourCoin = new Coin();
yourCoin.flip();
if(yourCoin.isHeads())
{
headCount++;
}
}
System.out.println("If I flip 100 coins, I get " + headCount + " tails.");
}
}
Jedes Mal, wenn ich es Kompilieren und Ausführen des Programms ich die gleiche Leistung erhalten, die
ist Wenn ich meine Münze 100 Mal kippe, bekomme ich 47 Köpfe. Wenn ich 100 Münzen kippe, bekomme ich 50 Schwänze.
Ich verstehe nicht, wie Sie die 47 und 50 zu neuen Zufallszahlen jedes Mal machen, wenn Sie das Programm ausführen. Ich habe int Math.Random und andere zufällige Variablen angesehen, bin mir aber nicht sicher, wie ich es in dieses Programm implementieren kann.
Nun ja, das ist der springende Punkt bei der Verwendung eines Samens: damit Sie jedes Mal dasselbe Ergebnis erhalten. – azurefrog
Können Sie das etwas klarer sagen. Das ist die ganze Verwendung eines Seeds –
Wenn Sie nicht jedes Mal die gleichen Ergebnisse wollen, setzen Sie Ihren Zufallszahlengenerator nicht jedes Mal mit der gleichen Initialeingabe. Der Sinn des Setzens eines Seeds besteht darin, ** jedes Mal, wenn Sie das Programm ausführen, ** die gleichen Ergebnisse zu garantieren. – azurefrog