1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 抛硬币与掷骰子

抛硬币与掷骰子

时间:2020-03-08 06:53:09

相关推荐

抛硬币与掷骰子

1.模拟抛硬币过程

首先,试图使用Java模拟一个抛硬币的过程。过程是使用一个随机函数随机的产生正与反,然后进行统计。 Coin.java

成员变量negitive与positve分别统计出现正反的次数,turn表示模拟的轮次。方法tossing()里面包含一个随机数0,1产生的过程,并将结果交给方法getResult()处理用于统计。最后通过方法showResults()可以显示统计结果。 下面做个测试,main()方法中通过抛200次,可以得到类似结果, 2.过程提炼与抽象

上面的代码可以很好的模拟抛硬币的场景,但太过于具体,我试图将其抽象化。 首先对于一个随机过程的演示,我想到它应该做3件事情,1提供随机产生器;2进行过程演示;3输出结果。我把它定义到一个接口中。 Randomer.java<<interface>> 而设想针对抛硬币的过程,我使用一个抽象类先部分给出设定随机数产生器与轮次的概念。当然对于过程演示(runToss)与输出结果(showResults)是具体应用的东西,先不作考虑,继续抽象它。 Tosser.java<<abstract class>> 好了,现在试图提供一个随机数产生器,这个产生器设定为基于均等机率产生整型数。产生数的范围range是可以通过具体应用设定的。 Seeder.java

3.抛硬币与掷骰子

现在我用上面的结构,再次设计一个抛硬币的过程。它会继承抽象类Tosser。 Coin.java

在构造子中,我设定了随机数构造器的range=2。并将runToss()与showResults()的具体逻辑补充完。在main()方法中,再次进行测试,轮次还是200。可以得到类似的结果为, 有了上面的结构,我不但可以抛硬币,我还可以掷骰子。 Dice.java

同样设定轮次为200,可以得到类似的测试结果, 4.既抛硬币又掷骰子

现在既要抛硬币又要掷骰子,我在抽象基类Tosser中增加一个Simple Factory。 Tosser.java<<abstract class>> 下面写一个测试类。 TosserTest.java

既抛硬币又掷骰子,轮次都为100,可以得到类似测试结果为, 本文转自zhangjunhd51CTO博客,原文链接:/zhangjunhd/58934,如需转载请自行联系原作者

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。