当前位置: 代码迷 >> 综合 >> Java编程思想习题3.07:模拟抛硬币结果
  详细解决方案

Java编程思想习题3.07:模拟抛硬币结果

热度:99   发布时间:2024-01-30 07:24:52.0

一、题目

编写一个程序,模拟抛硬币的结果。

二、思路

引入Random函数,取nextBoolean结果即可。为了让后续执行结果有复用性,即再执行一遍时结果相同,可以设置个种子数字seed 10,当一遍中的一次执行时结果随机,但另一遍的执行结果会和最先开始时执行结果相同。

三、解题

3.1 程序


import java.util.Random;/*** @date 2020/07/20*/
public class E7_RandomBoolean {public static void main(String[] args) {Random random11 = new Random(11);Random random12 = new Random(11);System.out.println("random11 seed is 11: " + random11.nextBoolean() + " and " + random11.nextBoolean());System.out.println("random12 seed is 11: " + random12.nextBoolean() + " and " + random12.nextBoolean());Random random21 = new Random();Random random22 = new Random();System.out.println("对比设置seed前后的区别结果:");System.out.println("random21 no seed: " + random21.nextBoolean() + " and " + random21.nextBoolean());System.out.println("random22 no seed: " + random22.nextBoolean() + " and " + random22.nextBoolean());}
}

3.2 结果

可以对比发现,设置相同seed后的不同对象,其每遍获取的结果相同,每次获取的结果具备随机性。而未设置seed时的每遍结果不同,每次也具备随机性。

random11 seed is 11: true and true
random12 seed is 11: true and true
对比设置seed前后的区别结果:
random21 no seed: true and false
random22 no seed: true and true