一、题目
编写一个程序,模拟抛硬币的结果。
二、思路
引入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