Я работаю, чтобы получить переменную численности персонала, чтобы быть случайным, но не могу понять этоНевозможно получить случайное число
public 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.");
}
}
Всякий раз, когда я компилирую его и запустить программу, я получаю тот же результат, который
Если я переворачиваю свою монету 100 раз, я получаю 47 голов. Если я переворачиваю 100 монет, я получаю 50 хвостов.
Я не понимаю, как сделать 47 и 50 новыми случайными числами каждый раз, когда вы запускаете программу. Я посмотрел int Math.Random и другие случайные переменные, но не уверен, как реализовать его в этой программе.
Ну, да, это цель использования семени: чтобы каждый раз получать одинаковый результат. – azurefrog
Можете ли вы сказать Это немного яснее. Вот и все с использованием семян. –
Если вы не хотите получать одинаковые результаты каждый раз, не заносите свой генератор случайных чисел с тем же начальным вводом каждый раз. Весь смысл установки семени заключается в том, чтобы ** гарантировать одинаковые результаты при каждом запуске программы **. – azurefrog