JAVA生成6个1-8的随机数,要求无重复。
来源:互联网 发布:好用的电磁炉推荐 知乎 编辑:程序博客网 时间:2024/06/11 02:51
[算法题:生成不重复的随机数]生成6个1-8的随机数,要求无重复。先用数组保存随机数,然后判断是否重复,如果重复重新生成。
方案一:
import java.util.Random;public class Cai { public static void main(String[] args) { Random ran = new Random(); int[] arr = new int[6]; for(int i=0;i<arr.length;i++){ //生成6个无重复的随机数 arr[i] = ran.nextInt(33)+1; for(int j=0;j<i;j++){ if(arr[i] == arr[j]){ //和前面的重复了 i--; // 如果重复了,先 -- 后 ++ 相当于下标不向前移动 break; } } } for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } }}
方案二:
import java.util.Random;public class Cai { public static void main(String[] args) { int[] tmp = new int[8]; for(int i=0;i<tmp.length;i++){ tmp[i] = i+1; } // tmp里面放了1 - 8 int[] arr = new int[6]; for(int i=0;i<arr.length;i++){ int index = ran.nextInt(tmp.length-i); // arr[i] = tmp[index]; //随机下标 tmp[index] = tmp[tmp.length-1-i]; // } for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } }}
方案三:
JAVA程序员推荐方法:
import java.util.Random;import java.util.HashSet; //集合,自动过滤重复元素public class Cai { public static void main(String[] args) { Random ran = new Random(); HashSet hs = new HashSet(); for(;;){ int tmp = ran.nextInt(8)+1; hs.add(tmp); if(hs.size() == 6) break; } System.out.println(hs); }}
阅读全文
0 0
- JAVA生成6个1-8的随机数,要求无重复。
- java随机生成6/8/12位数,要求每次产生的随机数与已生成的随机数不重复
- Java编写一个程序,获取10个1~20的随机数.要求随机数不能重复.
- 生成无重复的随机数
- 生成无重复的随机数
- 生成无重复的随机数
- 随机生成10个1--20之间的随机数,要求不能重复。(for循环解题)
- java中生成无重复随机数的2种方法
- java生成无重复随机数的2种方法
- java生成无重复随机数的2种方法
- Java生成一定个数的无重复随机数
- java生成无重复随机数的2种方法
- java 无重复生成一个范围内的随机数
- 《java入门第一季》之HashSet小案例:获取10个1至20的随机数,要求随机数不能重复
- set集合 // 生成10-20,之间的10个随机数,要求不能重复
- Java实现生成n个不重复的随机数
- java:随机生成100个不重复的随机数
- 生成n个不重复的随机数 java
- 从游戏天赋到学习方法,你应该知道的
- Android_动态加载viewpager携带的小圆点
- 基于SpringMVC的上传和下载
- 什么是JavaScript,介绍JavaScript。
- (娱乐)关于Java多线程系统的判断题
- JAVA生成6个1-8的随机数,要求无重复。
- O
- Android 自定义标题栏 TitleBar
- 如何查看某个端口被谁占用
- 第二章 Zookeeper集群测试(window版)【下】
- Tiled Map Editor(一)
- 人脸识别LBP的MATLAB实现
- 什么是异步
- 菜鸟的red5之旅