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