最近项目中有一个需求:在自增的id后加上N位随机数,提高安全性,自己写了一个简单的实现方式。

思路:

通过JDK 的Math.random()函数生成一个[0,1]范围内的随机数,将这个随机数乘以 9,然后再加1 就构成了[1,10]范围的一个随机数了(1位随机数)。依次类推,要产生2位的随机数只需要将Math.random()乘以 90,然后加上10就可以了。

实现代码:

/*** 产生4位随机数* @return*/protected long generateRandomNumber(int n){if(n<1){throw new IllegalArgumentException("随机数位数必须大于0");}return (long)(Math.random()*9*Math.pow(10,n-1)) + (long)Math.pow(10,n-1);}

Java 生成N位随机数的方法相关推荐

  1. java生成6位随机数

    生成6位随机数(不会是5位或者7位,仅只有6位): System.out.println((int)((Math.random()*9+1)*100000)); 同理,生成5位随机数: System. ...

  2. java生成16位随机数_java中如何产生一个16位数字组成的随机字符串?谢谢各位了...

    展开全部 方法如下: Random ran=new random(); boolean flag=true; while(flag){ int a=ran.nextInt(99999999); int ...

  3. Java生成指定范围随机数的方法

    方法一:利用java.util.Random类实现 例如:生成[0,100]内随机数 Random random = new Random(); int r = random.nextInt(100) ...

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

    java生成不重复随机数的方法 发布时间:2020-07-01 11:00:00 来源:亿速云 阅读:225 作者:Leah java怎么实现生成不重复随机数 ?针对这个问题,这篇文章详细介绍了相对应 ...

  5. java 8位随机数_JAVA中生成指定位数随机数的方法总结

    JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 1 public static String getRandom1(intlen) {2 int rs = ...

  6. Java 检查文件后生成8位随机数

    Java 检查文件后生成8位随机数 先检查目标文件中是否有数据,如果有则不执行操作,没有就生成一个新的8位随机数. import java.io.*; import java.util.Objects ...

  7. java随机生成6位随机数 5位随机数 4位随机数

    随机数,应用会相当广,验证数,订单号,流水号拼接. 下面是java随机数生成语句: 生成6位随机数(不会是5位或者7位,仅只有6位): System.out.println((int)((Math.r ...

  8. python随机生成10个数_python得到一个10位随机数的方法及拓展

    https://blog.csdn.net/qq_33324608/article/details/78866760 无意中看到一个写10位随机数的方法,很有想法,然后就从学了一下随机数,相关东西都记 ...

  9. python得到一个10位随机数的方法及拓展

    无意中看到一个写10位随机数的方法,很有想法,然后就从学了一下随机数,相关东西都记一下 直接上代码 import random print ''.join(str(random.choice(rang ...

  10. Java生成不重复随机数,双色球程序Demo

    Java生成不重复随机数,双色球Demo 设计一个程序,可以产生福利彩票的双色球中奖号码. 规则:6红球,1个蓝球 6个红球范围:1-33 1个蓝球:1-16 代码 import java.util. ...

最新文章

  1. 跟我学Spring Cloud(Finchley版)-08-Ribbon深入
  2. 红帽虚拟化RHEV-架构简介
  3. Java基础day13
  4. FindBugs插件
  5. 小红伞和NOD32基于源码的免杀经验总结
  6. 【MFC系列-第16天】企业信息管理软件开发
  7. [html] 页面的重绘和回流是什么?
  8. Native Vlan(本征vlan)
  9. react全家桶实现招聘app-项目准备(一)
  10. C语言---链表的创建
  11. 刷新iframe页面
  12. 更新了android sdk出现aapt问题以及模拟器启动错误
  13. Android系统源码分析--Process启动过程
  14. 计算机视觉论文-2021-09-14
  15. gis怎么提取水系_如何使用ArcGIS从天地图中提取水系
  16. matlab对控制系统进行时域和频域联合分析
  17. 加ing形式的单词有哪些_哪些单词是动词加 -ing 变形容词,在加 -ly 变副词的?能不能列举一些,有十几个就可以了。?...
  18. Day4:《卫报》:我们正面临着第六次大灭绝吗?
  19. Android 利用高德地图API进行定位、开发电子围栏、天气预报、轨迹记录、搜索周边(位置)
  20. 计算机组成原理是答案,计算机组成原理(上)_答案mooc

热门文章

  1. 洛谷——P2504 [HAOI2006]聪明的猴子
  2. 2008年12月12号,星期五晴。为人父,却不能尽父责,为人夫,却不能尽夫责。这种痛楚什么时候才能结束。
  3. Macintosh30周年回顾视频 ---转自36kr
  4. Vue在线客服系统【开源项目】
  5. 计算机科学基础word实验一,计算机基础实验报告
  6. 体育科技文献通报杂志体育科技文献通报杂志社体育科技文献通报编辑部2022年第6期目录
  7. BLE MESH中的Secure Network beacon包
  8. CS5263|DP转HDMI 4K60HZ转换方案|DP转HDMI 2.0转换电路
  9. 员工管理系统————员工添加模块
  10. 在线简洁Logo制作