网站备案最多需要多久,wordpress链接数据库,网页简单制作流程,莱芜地板街50一次前言#xff1a; 小编打算近期更俩三期类的专栏#xff0c;一些常用的专集类#xff0c;给大家分好类别总结和详细的代码举例解释。
今天是除夕#xff0c;小编先祝贺大家除夕快乐啦#xff01;#xff01; 今天是第六个 java.lang.Math 包中的 java.util.Random类 我…前言 小编打算近期更俩三期类的专栏一些常用的专集类给大家分好类别总结和详细的代码举例解释。
今天是除夕小编先祝贺大家除夕快乐啦 今天是第六个 java.lang.Math 包中的 java.util.Random类 我们一直都是以这样的形式让新手小白轻松理解复杂晦涩的概念
把Java代码拆解的清清楚楚每一步都知道他是怎么来的
为什么用这串代码关键字对比同类型的代码
让大家真正看完以后融会贯通举一反三实践应用 ①官方定义 和 大白话拆解对比
②举生活中常见贴合例子、图解辅助理解的形式
③对代码实例中关键部分进行详细拆解、总结 给小编一个赞或者关注吧我们一起进步 官方语言解释 java.util.Random类提供了多种方法来生成不同类型的随机数
nextBoolean()返回下一个伪随机数它是取自此随机数生成器序列的均匀分布的boolean值。nextBytes(byte[] bytes)生成随机字节并将其置于用户提供的byte数组中。nextDouble()返回下一个伪随机数它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的double值。nextFloat()返回下一个伪随机数它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的float值。nextGaussian()返回下一个伪随机数它是取自此随机数生成器序列的、呈高斯“正态”分布的double值其平均值是0.0标准差是1.0。nextInt()返回下一个伪随机数它是此随机数生成器的序列中均匀分布的int值。nextInt(int n)返回一个伪随机数它是取自此随机数生成器序列的、在0包括和指定值不包括之间均匀分布的int值。nextLong()返回下一个伪随机数它是取自此随机数生成器序列的均匀分布的long值。 大白话拆解 简单来说java.util.Random就是一个工具箱里面有很多方法可以帮助我们生成各种类型的随机数。比如
如果你想生成一个随机的真或假true或false你可以使用nextBoolean()。如果你需要一些随机的数字但这些数字必须是整数你可以使用nextInt()。如果你需要的随机数是一个小数那么nextDouble()或nextFloat()就是你的选择。如果你想要生成一些随机的字节数据比如加密时需要的随机密钥你可以使用nextBytes()。如果你需要生成符合正态分布的随机数比如模拟自然界的一些现象你可以使用nextGaussian()。 举个栗子 案例描述
你正在参加一个商场举办的幸运大抽奖活动。商场决定从所有参与者中随机抽取10名幸运儿每位幸运儿将获得一份奖品。为了简化这个例子我们假设商场已经收集了所有参与者的编号比如从1到500现在需要从中随机选出10个不同的号码作为幸运号码。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;public class LuckyDraw {public static void main(String[] args) {// 假设总共有500位参与者编号从1到500ListInteger participants new ArrayList();for (int i 1; i 500; i) {participants.add(i);}// 使用Random类来打乱参与者列表的顺序Collections.shuffle(participants, new Random());// 选择前10位作为幸运儿System.out.println(以下是本次抽奖的幸运儿编号);for (int i 0; i 10; i) {System.out.println(幸运儿 (i 1) : 编号 participants.get(i));}}
} 代码解释和总结
有一个装满了500个不同颜色小球的大盒子每个小球上都有一个唯一的编号从1到500。现在你想从中随机挑选出10个小球作为幸运儿。为了做到这一点你可以按照下面的步骤来操作 1. 创建参与者列表
ListInteger participants new ArrayList();
for (int i 1; i 500; i) {participants.add(i);
}
这一步就像是你把所有的小球一个个拿出来并且按照顺序排列好。在这个例子中我们创建了一个名为participants的列表然后通过一个循环将数字1到500添加进这个列表里。这就相当于给每一个小球标上了它们的编号。 2、打乱顺序
Collections.shuffle(participants, new Random());
接下来我们需要模仿一个过程把这些小球都放进一个大袋子里然后用力摇晃袋子让这些小球充分混合这样它们的原始顺序就被打乱了。在这段代码中我们使用Collections.shuffle()方法和Random类来实现这一过程。它会随机打乱participants列表中的元素顺序确保每个小球被选中的机会是均等的。 3、. 选择前10位作为幸运儿
System.out.println(以下是本次抽奖的幸运儿编号);
for (int i 0; i 10; i) {System.out.println(幸运儿 (i 1) : 编号 participants.get(i));
}
最后一步就是从已经被充分混合的小球中随机选出10个。由于我们已经通过打乱顺序模拟了随机抽取的过程现在只需要依次从小球堆的顶部取出最上面的10个小球即可。在这个代码片段中我们通过一个循环来获取打乱后的列表中的前10个元素并打印出来展示给用户。 我们今天就到这里下次见吧