使用java的 java.util.Random

import java.util.Random;

/**

* 随机生成n个不同的数

*

* @author 张俊峰

*

*/

public class ArrayRandom {

/**

* 随机生成n个不同的数

*

* @param amount

* 需要的数量

* @param max

* 最大值(不含),例:max为100,则100不能取到,范围为0~99;

* @return 数组

*/

public static int[] random(int amount, int max) {

if (amount > max) { // 需要数字总数必须小于数的最大值,以免死循环!

throw new ArrayStoreException(

"The amount of array element must smallar than the maximum value !");

}

int[] array = new int[amount];

for (int i = 0; i < array.length; i++) {

array[i] = -1; // 初始化数组,避免后面比对时数组内不能含有0。

}

Random random = new Random();

int num;

amount -= 1; // 数组下标比数组长度小1

while (amount >= 0) {

num = random.nextInt(max);

if (exist(num, array, amount - 1)) {

continue;

}

array[amount] = num;

amount--;

}

return array;

}

/**

* 判断随机的数字是否存在数组中

*

* @param num

* 随机生成的数

* @param array

* 判断的数组

* @param need

* 还需要的个数

* @return 存在true,不存在false

*/

private static boolean exist(int num, int[] array, int need) {

for (int i = array.length - 1; i > need; i--) {// 大于need用于减少循环次数,提高效率。

if (num == array[i]) {

return true;

}

}

return false;

}

/**

* 随机生成一个数

*

* @param max

* 最大值(不含)

* @return 整型数

*/

public static int random(int max) {

return random(1, max)[0];

}

}

使用:

int[] arr = ArrayRandom.random(20, 100);

for (int i = 0; i < arr.length; i++) {

System.out.print(arr[i] + " ");

}

---------------------

原文:https://blog.csdn.net/u013271384/article/details/51766300

java 随机生成n个整数_java随机生成n个不相同的整数相关推荐

  1. java随机生成n位数字_java随机生成n个不相同的整数

    使用java的 java.util.Random import java.util.Random; /** * 随机生成n个不同的数 * * @author 张俊峰 * */ public class ...

  2. java 随机生成10个整数_Java:随机生成10个整数(1-100),对生成的序列进行排序,并插入一个任意数...

    import java.util.Random; public class GetNum { public static int i = 0; public static void main(Stri ...

  3. java生成短信验证码_Java随机生成手机短信验证码的方法

    本文实例讲述了Java随机生成手机短信验证码的方法.分享给大家供大家参考,具体如下: /** * 创建指定数量的随机字符串 * @param numberFlag 是否是数字 * @param len ...

  4. java设计随机遇敌概率_Java随机产生中文昵称

    iterator = set.iterator(); while (iterator.hasNext()) { System.err.print(iterator.next() + "\n& ...

  5. java在src创建entity文件_java自动生成entity文件

    private String packagePath = "com.qy.entity"; //指定实体生成所在包的路径//表名以","分隔;若为"* ...

  6. 【Java工具类】使用Random类对象生成随机整数

    本文目录 1.导言 2.Java实现与伪码模型 3.nextInt(bound)方法解析 4.nextInt(bound)方法高级玩法:控制随机数的生成范围 5.心得 6.随机数逸话 1.导言 Ran ...

  7. 如何在Java中生成特定范围内的随机整数?

    如何生成特定范围内的随机int数值? 我已经尝试了以下方法,但是这些方法不起作用: 尝试1: randomNum = minimum + (int)(Math.random() * maximum); ...

  8. 用Java实现在【520,1314】之间生成随机整数的故事

    做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 在未来城市工作的的程序员小木,做了一个梦,梦到自己在塔鲁姆的街道上看到一个姑娘,这个姑娘从远处走向他,脸上带着微笑.让小木 ...

  9. java随机生成一个号码_Java 随机生成任意组电话号码过程解析

    需求说明 要求根据用户输入,生成相应组数的电话号码 实现思路 1.通过百度,获取对应真实世界中电话号码的头三位数 2.采用Math.random()方法,生成电话号码的后八位数 代码内容 随机生成任意 ...

最新文章

  1. C# 利用net 命令获取域用户列表
  2. linux 下用ecipse 作用oracle 的客户端
  3. 【Qt】Qt布局管理器
  4. 【性能优化】优化笔记之一:图像RGB与YUV转换优化
  5. 深度学习去燥学习编码_我们问了15,000个人,他们是谁,以及他们如何学习编码
  6. 部署高可用 Etcd 集群
  7. 一个老程序员的心里话---想创业的技术人员可以看
  8. poj3349找相同的雪花(哈希)
  9. Linux欢迎文字配置(命令行模式)
  10. java菜鸟突破面试系列-终章
  11. Java --人民币(RMB)小写/数字转换大写工具类
  12. 【转载】CSS常用英文字体介绍
  13. java将输入的阿拉伯数字金额转换为中文大写金额
  14. “校长”,我的同事,神奇的秋名山车神
  15. STM32 ADC单通道与多通道_DMA学习笔记
  16. 通过颜色来生成一个纯色图片
  17. 网易邮箱服务器怎么注册,按照这个步骤操作,轻松注册自己的邮箱,赶紧收藏吧...
  18. 无线网络***(-)
  19. Spring注解驱动开发-扩展原理
  20. winds配置nginx反向代理和负载均衡

热门文章

  1. 树莓派搭建MQTT服务器(基于EMQ)
  2. 什么是Hackbar?
  3. 前端面试之浏览器内核
  4. API管理源码一个全新版本界面
  5. 往事如烟 - 花老哥
  6. MV*关于业务逻辑的描述
  7. rg1 蓝光危害rg0_你选的LED台灯防蓝光危害评估结果是RG0吗?
  8. 什么是python的库_什么是python标准库
  9. NodeMCU esp8266的网络连入网络的模式方式即程序实例
  10. 【Cocos游戏】Top4!日本最火MMOPRG《剑与魔法的境界》