Java中的随机数Random
一个用于生成随机数的类具体用法:
//创建随机数对象Random random = new Random(); //随机产生一个int类型取值范围内的数字。int num1 = random.nextInt(); System.out.println(num1); //产生一个[0-100]之间的随机数int num2 = random.nextInt(101); System.out.println(num2); //不包括101
写一个不含重复数字的随机数组第一种:
int[] num = new int[5]; boolean flag = true; Random random = new Random(); for (int i = 0; i < num.length; i++) {int a = random.nextInt(5); for (int j = i - 1; j >= 0; j--) {//当i == 0 的时候这一步不执行if (a == num[j]) {flag = false; }}if (flag) {num[i] = a; } else {i--; flag = true; }}System.out.println(Arrays.toString(num));
第一种方法的改进:
public static void main(String[] args) {int[] num = new int[5]; Random random = new Random(); int index = 0; while (index < num.length) {int a = random.nextInt(5); if (contains(num, index, a)) { //把判断有没有变成了一个方法num[index++] = a; }}System.out.println(Arrays.toString(num)); }public static boolean contains(int[] a, int index, int temp) {for (int i = index - 1; i >= 0; i--) {if (temp == a[i]) {return false; }}return true; }
【Java中的随机数Random】第二种:
不推荐这种方法,虽然使用了
Arrays
自带的方法 ,但是这个方法的除最后一个元素以外的元素都是排好序的这种随机有点不严谨
public static void main(String[] args) {int[] a = new int[5]; Random random = new Random(); int index = -1; while(index < a.length -1){int b = random.nextInt(5); if(contains(a,b,index)){a[++index] = b; }}System.out.println(Arrays.toString(a)); }public static boolean contains(int[] a , int b , int index){if (index < 0){return true; }Arrays.sort(a,0,index + 1); //下标为[0,index+1)的数组排序 不包含index+1return Arrays.binarySearch(a,0,index + 1,b) < 0; //二分法查找下标为[0,index+1)范围内是否包含b}
到此这篇关于Java中的随机数Random的文章就介绍到这了,更多相关随机数Random内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- PyTorch中的torch.cat简单介绍
- pytorch中的|pytorch中的 .view()函数的用法介绍
- 测试在项目流程中的那些事儿
- 详解Java对象结构与对象锁的升级
- Java|Java Spring的使用注解开发详解
- Mybatis|Mybatis Plus 中的LambdaQueryWrapper示例详解
- java|java基础-(一)-JDK的下载和安装
- Java|【Java】Swing程序设计 将helloworld显示到窗体中
- java|湖南工程师用中文编写操作系统,还发明了甲、乙、丙语言(??)
- java|重磅(向996开炮!携程带头居家办公。)