Java随机数
来源:互联网 发布:赵本山支持女儿玩网络 编辑:程序博客网 时间:2024/05/23 01:23
公司产生6位随机短信验证码的功能 产生了 5.0835这样的不科学验证码
打开代码 发现是这样写的
private String randomCode() {
return Double.toString(Math.random()).replace("0.", "").substring(0, 6);
}
乍一看 好像没什么问题
测试一下 问题真的蛮多的 Math.random产生 [0.0,1.0) 的数字
当产生的小数足够小时 产生出来的数就直接是 3.290305281000716E-4 逻辑不适用了 出错了
修改策略也很简单
生成6位随机数
System.out.println((int)((Math.random()*9+1)*100000));
生成5位随机数:
System.out.println((int)((Math.random()*9+1)*10000));
生成4位随机数
System.out.println((int)((Math.random()*9+1)*1000));
阅读全文
0 0
- java随机数
- Java随机数
- JAVA 随机数
- Java随机数
- java随机数
- JAVA 随机数
- Java随机数
- java 随机数
- java 随机数
- [java]随机数
- java随机数
- Java 随机数
- Java 随机数
- JAVA随机数
- JAVA随机数
- java 随机数
- Java随机数
- Java - 随机数
- Linux下文件的属性
- poj 3155 Hard Life(01分数规划+最大流--最大密度子图)
- java基础-数据类型
- 暴力递归转动态规划详解
- 如何利用自定义事件多人协作开发
- Java随机数
- appium介绍(9)
- Mac 端 coursera 视频总是缓冲或者无法观看 解决
- Android 控件之FlexboxLayout知识梳理
- c++ socket发送http请求
- 编程填空:第i位取反
- Jlink ob制作教程 三线Jlink ob神器!!!
- Vim跨文件复制
- 备份putty配置的方法