JAVA随即生成不重复的数
2010-07-30 10:42
211 查看
import java.util.ArrayList; import java.util.List; import java.util.Random; public class UnSeqRandomNumber { private int min; private int max; public UnSeqRandomNumber() { this.min = 0; this.max = 10; } public UnSeqRandomNumber(int min, int max) { this(); if (max > min) { this.min = min; this.max = max; } else System.out.println("max比min小,按默认的值生成UnrepeatRandomMumber对象!"); } // 第一种方法:排除法.随机生成数字,如果是新生成的数字则放到结果集中 // 否则不采取行动 public Integer[] getRandomA(int length) { if (length <= 0) { System.out.println("数字长度小"); return new Integer[0]; } else if (length > (this.max - this.min)) { System.out.println("结果列表长度达不到要求:" + length + "结果只能是:" + (this.max - this.min)); length = this.max - this.min; } Random rand = new Random(); List<Integer> list = new ArrayList<Integer>(); while (list.size() < length) { Integer randnum = new Integer(this.min + rand.nextInt(this.max - this.min + 1)); if (!list.contains(randnum)) { list.add(randnum); } } return (Integer[]) list.toArray(new Integer[0]); } public static void outputArray(Integer[] array) { if (array != null) { for (int i = 0; i < array.length; i++) { System.out.println(array[i] + " "); } } System.out.println(); } public static void main(String[] args) { // TODO Auto-generated method stub UnSeqRandomNumber test = new UnSeqRandomNumber(5, 35); outputArray(test.getRandomA(100)); } }
相关文章推荐
- java使用hashset生成1-20的随机数并不重复并打印
- JAVA后端生成Token(令牌),用于校验客户端,防止重复提交
- Java编程实现从给定范围内随机N个不重复数生成随机数的方法小结
- java 生成一组不重复的随机数
- java 随即生成数字和uuid的使用
- 随即生成无重复数字的数组(windows窗体)
- java生成随机不重复id
- java单机生成不重复增长15位流水号方式
- Java生成不重复的数的方法(精确到毫秒级别)
- java生成唯一随即数
- java 生成一组不同的随机数(不重复)
- JAVA 生成无重复8位随机码
- 【Java】Java复习笔记-三大排序算法,堆栈队列,生成无重复的随机数列
- java生成不重复的随机数
- Java生成随机不重复推广码邀请码
- Java 生成任意位数永不重复的随机数策略实现
- python和java生成随即序列
- Java 生成唯一性标识解决方案与重复概率分析
- 转载:JAVA生成给定范围内的不重复的随机数的几种方法