我有一个代表硬币的类,可以用Coin.Flip()方法翻转。 Flip()使用random.Next(2);得到0或1代表正面或反面。这工作很好..有点。C#的问题随机类
对于该程序,我需要有2个硬币,我可以说让coin1和coin2。
COIN2总是需要COIN1后直奔翻转,我可以用做:
coin1.Flip();
coin2.Flip();
这应该工作,对不对?
那好吧!每次运行这两行代码时,两个硬币的结果都相同!
面值存储在脸上币类,它是这样定义里面:
private int face;
我看不出有什么毛病我都干了些什么,但每一次我运行代码,它们最终完全相同。
哦也,随机在硬币类中定义的,以及像这样:
private Random random = new Random();
感谢您的帮助!
编辑:这里的翻转(),它的工作原理是,随机是静态的。
public void Flip() {
face = random.Next(2);
}
你能展示Flip的实现吗? – 2010-09-25 01:21:55
注意:如果它是静态的,你应该同步它,或者使它具体线程,因为它没有被列为线程安全 – 2010-09-25 06:59:41