Java获取不重复的随机整数(非轮询比较循环排除法)

蓝桥杯Python国赛真题解析:从算法建模到工程优化 Python作为主流工程语言,其核心价值不仅在于语法简洁,更体现在高效建模、内存可控与跨域整合能力。理解numpy广播机制、掌握SG函数等博弈建模原理,是应对高阶算法题的关键技术基础;而合理选用deque、__slots__、生成器等工程化手段,则直接决定代码在128MB内存与200ms时限下的鲁棒性与性能上限。这类能力广泛应用于嵌入式仿真、工业控制协议处理及实时决策系统等场景。本文以第十四届蓝桥杯Python大学B组国赛真题为实践样本,聚焦‘高僧斗法’‘人狗大作战’等典型题目,还原真实工程问题的拆解路径与 阅读详情
  这里只讨论随机整数,一般用于生成不重复的随机密码。
  比较常见的方法是:每次在获取随机数后都与之前获取的数进行比较,如果重复就重新获取。个人比较杞人忧天,担心每次重新获取的随机数还是重复的,所以就不太敢用这种方法。
  个人的方法是根据需要先定义一个有序数组,然后进行无序排列,最后进行顺序或者倒序截取。

直接上代码:


	//1.从0-9中获取任意个不重复的整数(0<len<11)
	static int[] getRandom10(int len){
		//根据需要自定义有序数组
		int[] ra=new int[10];
		for(int i=0;i<10;i++){
			ra[i]=i;
		}
		//无序排列实际上i最大到8即可,因为当i=9时,10-i=1,rd.nextInt(10-i)=0,ra[0]与ra[0]无所谓交换
		for(int i=0;i<10;i++){
			Random rd=new Random();
			int temp1=rd.nextInt(10-i);
			int temp2=ra[9-i];//保存相对末尾的数据
			ra[9-i]=ra[temp1];//交换
			ra[temp1]=temp2;
		}
		//上面的i实际上<9即可,因为当i=9时,temp1=rd.nextInt(10-9)=0,ra[temp1]与ra[9-i]均指代ra[0],无所谓交换
		//顺序截取
		int[] returnInt=new int[len];
		for(int i=0;i<len;i++){
			returnInt[i]=ra[i];
		}
		//返回
		return returnInt;
	}
	
	//2.从0-99中获取任意个不重复的整数(0<len<101)
	static int[] getRandom100(int len){
		//根据需要自定义有序数组
		int[] ra=new int[100];
		for(int i=0;i<100;i++){
			ra[i]=i;
		}
		//无序排列,只重复len次
		for(int i=0;i<len;i++){
			Random rd=new Random();
			int temp1=rd.nextInt(100-i);
			int temp2=ra[99-i];//保存相对末尾的数据
			ra[99-i]=ra[temp1];//交换
			ra[temp1]=temp2;
		}
		//倒序截取
		int[] returnInt=new int[len];
		for(int i=0;i<len;i++){
			returnInt[i]=ra[99-i];
		}
		//返回
		return returnInt;
	}
	
	//3.随机获取一个6位数的整数,要求数字不重复,不含0
	static int getRandom6(){
		int returnNum=0;
		//自定义有序数
		int[] ra=new int[9];
		for(int i=0;i<9;i++){
			ra[i]=i+1;
		}
		//无序排列并取值
		for(int i=0;i<6;i++){
			returnNum*=10;
			Random rd=new Random();
			int temp1=rd.nextInt(9-i);
			int temp2=ra[8-i];//保存相对末尾的数据
			ra[8-i]=ra[temp1];//交换
			ra[temp1]=temp2;
			returnNum+=ra[8-i];//取值
		}
		return returnNum;
	}
	
	//4.该方法可以类推到字母等,自己写O(∩_∩)O~


Java生成不重复的任意位随机数 巧用Java实现得到任意位永不重复的随机数,很经典的代码! 立即下载

相关推荐

Java 产生不重复随机数四种方法

该代码采用面向对象语言实现不重复的随机数,用四种方法。谢谢参考

用Java生成N个不重复的随机数,3种实例

Java实现生成n个不重复的随机数可以使用Java中的Random类和Set集合来完成上述代码中,使用了一个while循环来生成n个不重复的随机数。在每次循环中,先生成一个范围在1到max之间的随机整数,然后将其加入Set集合中,由于Set集合不允许元素重复,所以会自动去重,直到包含n个元素为止。最后返回生成的随机数集合。

qq_19843217的博客 1万+

java生成十个不重复的随机数

java生成十个不重复的随机数,要求不重复

JAVA随机生成十个不重复的整数(Arraylist,Set)

Java随机生成0-20的十个不重复数字,并添加进集合,随机数的生成方法详解,适合新手。

qq_48984694的博客 1万+

自己写的java产生不重复随机数

直接运行main即可,参数为数字范围 比如10 运行后会输出9,3,0,7,2,8,4,1,5,6,

spring-ai学习(四)-MCP

创建一个springai项目1.依赖。

zql1455890112的博客 1386

Java 在指定的数据内,随机获取几个不重复的数

Java 在指定的数据内,随机获取几个不重复的数

qq_19891197的博客 1589

实现飞书机器人推送消息到指定群组或者用户

飞书是一个集成了聊天、协作和办公功能的企业级平台,广泛应用于企业内部沟通和协作。飞书机器人(Feishu Bot)是一种强大的工具,允许开发者通过编程接口与飞书进行互动,从而实现自动化消息推送和任务管理。本文将详细介绍如何通过飞书机器人推送消息给指定的人或者群组,帮助您快速上手。

qq_41898196的博客 5867

java 不重复随机数_JAVA中获取不重复的随机数

我们知道 Random random = new Random() 中可能会获取到重复的随机数那么假设要获取1到33之间的六个不重复随机数应该怎么做呢?首先定义一个数字数组存储1到33int[ ] redBall = new int[33[;for(int i = 0;iredBall[i] = i+1;}int[ ] redNumber = new int[6]; //存储六个随机...

weixin_32143729的博客 516

用ESP32和HomeSpan自制HomeKit智能灯,手把手教你从零接入苹果家庭App

本文详细介绍了如何使用ESP32开发板和HomeSpan开源库自制原生HomeKit智能灯,从硬件搭建到软件配置,再到通过苹果家庭App控制的全过程。项目绕过了苹果MFi认证,成本低廉但功能完整,支持Siri语音控制、自动化场景等高级功能,是智能家居DIY的实用指南。

weixin_28717431的博客 321

微信小程序 - 最新详细实现调起手机摄像头拍摄身份证人像面和国徽面取景框功能,在拍照相机上增加身份证证件照的轮廓或自定义文字,支持替换扫描拍摄辅助线图片及文本,小程序实现拍照身份证时带取景轮廓框拍摄!

微信小程序,身份证,证件照,人像,证件照提示框模板,vue身份证拍照框,摄像机相机里有引导内容,取景框拍摄,微信小程序实现拍照界面自定义实现,自拍人相框拍摄,取景框,户口簿取景框,画布指定区域生成图片,微信小程序身份证正反面拍照如何加入辅助图片引导照片,身份证取景框拍摄,服务器,上传,正反面,调起手机摄像头:拍摄身份证的正反面,自定义身份证取景框,在相机上绘制“身份证轮廓“与提示文字,拍摄身份证时出现人像框怎么实现,在相机上增加图片和文字,微信小程序怎么给调起的相机加入自定义图片,小程序实现给相机上面

🏆 前端领域优质创作者 1万+

获取随机数字且不重复

练手小项目:获取随机数字且不重复,写有注释

weixin_46751186的博客 617

YOLO 系列专栏(二十九)YOLO26 × StarNet 轻量化涨点方案(CVPR 2024)轻量化、主干改进篇 | 星星卷积虽小,却蕴藏着巨大的高效潜力

StarNet 出自 CVPR 2024 轻量化主干网络工作,核心创新是,依靠逐元素乘法实现高阶特征融合,在几乎不增加参数量与 FLOPs 的前提下,大幅提升特征表达能力,天然适合等多任务统一建模。本文将 StarNet 完整替换 YOLO26 原有主干,保留 YOLO26 无 NMS 检测头与轻量化结构,实现,并提供。

qq_36130719的博客 410

Java产生随机五个不重复的数

以下代码帮助理解随机数: import java.util.Random; public class Test3 { public static void main(String[] args) { Random random = new Random(); //随机产生一个int类型取值范围内的数字 int num1 = random.nextInt(); System.out.println(num1);

m0_53677355的博客 7341

一文就够-InfiniBand 技术全面解析:从原理到实践的通俗易懂指南

想象一下,在一个超级数据中心里,成千上万台服务器需要像蜜蜂群体一样高效协作。如果用传统的网络连接,就像让每只蜜蜂都排着队传递消息,效率极低。InfiniBand(简称 IB)就是为了解决这种 "通信拥堵" 而生的高速网络技术,它专门为高性能计算(HPC)、数据中心和云计算环境设计,就像给服务器之间搭建了多条高速公路,让数据可以飞驰而过。

jundao1997的专栏 1395

Allegro如何去掉PCB内层未使用的过孔孔环?

在用Allegro进行PCB设计过程中,遇到铺铜铜箔被焊盘大量割断,导致铺铜不完整,这样就会导致铺铜过电流太小,影响板的性能,严重的会导致板工作不稳定,甚至不工作。解决办法:是去掉内层未使用的过孔孔环,增大过铜箔面积。

bhxc809751502的博客 2571

java生成永远不重复的随机数_java生成不重复随机数的方法

java生成不重复随机数的方法发布时间:2020-07-01 11:00:00来源:亿速云阅读:225作者:Leahjava怎么实现生成不重复随机数 ?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java生成随机数可以使用Math类中的方法。不随机可以使用List进行判断存储。( )1 . 调用java.lang下面Math类中的...

weixin_28745067的博客 1万+

影楼精修-高低频磨皮算法解析

本文介绍了像素蛋糕软件中的高低频磨皮算法原理及实现思路,抛砖引玉。

Trent1985的专栏 2259

生成不重复随机数 java

java生成随机数可以使用Math类中的方法。不随机可以使用List进行判断存储。(推荐教程:java教程 )

weixin_44023495的博客 4242

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java 生成不重复的随机数

可指定数字个数和范围,返回不重复的随机数字 参数名 作用 scope 需要生成的随机数字的个数,例如:8个随机数字 total 数字范围例如:1~100 // 生成指定范围的随机数字【不重复】 public List<Integer> randomNum(int scope, int total) { List<Integer> mylist = new ArrayList<>(); // 用于储存不重复的随机数 Random rd

tjx 博客 7443

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

java生成不重复的随机数

1.使用List类型容器 import java.util.ArrayList; import java.util.List; public class ListDemo { public static void main(String[] args) { for(int i = 0;i<10;i++){ int num = (int)(Math.random()*10+1); System.out.println(num

weixin_47779839的博客 4001

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java生成随机整数

在 Java 中,生成随机数的场景有很多,所以本文我们就来盘点一下 几种生成随机数的方式,以及它们之间的区别和每种生成方式所对应的场景。 1. java.util.Random 这Random().nextInt(int bound)会生成一个从 0(包括)到 bound(不包括)的随机整数。 (1)代码片段 对于getRandomNumberInRange(5, 10),这将生成一个介于 5(含)和 10(含)之间的随机整数。 private static int getRan...

java小白的博客 2万+

提取不重复的整数 (Java实现)

输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 保证输入的整数最后一位不是 0 。

qq_45200515的博客 896

9.提取不重复的整数

从右往左边了,遍历顺序就是length-1 到 0,可以用一个空字符串去接收遍历到的字符,并且判断新的字符串中有没有当前遍历到的字符,如果有,下一个,最后输出新字符串就好。输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。数据范围: 1≤n≤108 1≤n≤108。保证输入的整数最后一位不是 0。输入一个int型整数。

weixin_63133068的博客 271

一次性口令机制java实现(信息安全)

在信息学中,密码也叫口令,要实现登录验证,每次网络传输的口令都不一致,故称为一次性口令机制。 这里实现简单的一次性口令机制:(SpringMVC实现) 思路:用验证码代替时间戳,将密码(口令)通过md5算法加密,再将验证码加在后面,然后再用md5算法加密,在网络传输过程中以密文的形式传输到后台管理。后台数据库保存的是用md5算法加密后的密文,将该密文加上保存在session范围内的验证

持之以恒 1万+

Java中生成不重复随机数的4种方法详解

在Java开发中,生成不重复的随机数是常见的需求,例如抽奖、随机抽样等场景。本文提供四种高效实现方案,涵盖不同范围与数据量的场景,并附完整代码示例。

m0_66310207的博客 2103
上一篇: Android 打开软键盘 关闭软键盘
下一篇: Android设置WIFI不休眠并确保黑屏后网络通信正常的方法
李工电子说
博客等级 码龄15年 221粉丝 140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李工电子说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值