Java随机数怎么应用
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章主要介绍"Java随机数怎么应用",在日常操作中,相信很多人在Java随机数怎么应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java随机数怎么应用"的疑惑
千家信息网最后更新 2025年01月22日Java随机数怎么应用
这篇文章主要介绍"Java随机数怎么应用",在日常操作中,相信很多人在Java随机数怎么应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java随机数怎么应用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Java随机数的测试
通过一个例子说明上面的用法
import java.util.Random; /** * Java随机数测试 * User: leizhimin * Date: 2008-11-19 17:52:50 */ public class TestRandomNum { public static void main(String[] args) { randomTest(); testNoSeed(); testSeed1(); testSeed2(); } public static void randomTest() { System.out.println("--------------test()--------------"); //返回以毫秒为单位的当前时间。 long r1 = System.currentTimeMillis(); //返回带正号的 double 值,大于或等于 0.0,小于 1.0。 double r2 = Math.random(); //通过Random类来获取下一个随机的整数 int r3 = new Random().nextInt(); System.out.println("r1 = " + r1); System.out.println("r3 = " + r2); System.out.println("r2 = " + r3); } public static void testNoSeed() { System.out.println("--------------testNoSeed()--------------"); //创建不带种子的测试Random对象 Random random = new Random(); for (int i = 0; i < 3; i++) { System.out.println(random.nextInt()); } } public static void testSeed1() { System.out.println("--------------testSeed1()--------------"); //创建带种子的测试Random对象 Random random = new Random(555L); for (int i = 0; i < 3; i++) { System.out.println(random.nextInt()); } } public static void testSeed2() { System.out.println("--------------testSeed2()--------------"); //创建带种子的测试Random对象 Random random = new Random(); random.setSeed(555L); for (int i = 0; i < 3; i++) { System.out.println(random.nextInt()); } } }
运行结果:
--------------test()-------------- r1 = 1227108626582 r3 = 0.5324887850155043 r2 = -368083737 --------------testNoSeed()-------------- 809503475 1585541532 -645134204 --------------testSeed1()-------------- -1367481220 292886146 -1462441651 --------------testSeed2()-------------- -1367481220 292886146 -1462441651 Process finished with exit code 0
通过testSeed1()与testSeed2()方法的结果可以看到,两个打印结果相同,因为他们种子相同,再运行一次,结果还是一样的,这就是带种子随机数的特性。而不带种子的,每次运行结果都是随机的。
Java随机数的综合应用
下面通过最近写的一个随机数工具类来展示用法:
import java.util.Random; /** * 随机数、随即字符串工具 * User: leizhimin * Date: 2008-11-19 9:43:09 */ public class RandomUtils { public static final String allChar = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static final String letterChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static final String numberChar = "0123456789"; /** * 返回一个定长的随机字符串(只包含大小写字母、数字) * * @param length 随机字符串长度 * @return 随机字符串 */ public static String generateString(int length) { StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < length; i++) { sb.append(allChar.charAt(random.nextInt(allChar.length()))); } return sb.toString(); } /** * 返回一个定长的随机纯字母字符串(只包含大小写字母) * * @param length 随机字符串长度 * @return 随机字符串 */ public static String generateMixString(int length) { StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < length; i++) { sb.append(allChar.charAt(random.nextInt(letterChar.length()))); } return sb.toString(); } /** * 返回一个定长的随机纯大写字母字符串(只包含大小写字母) * * @param length 随机字符串长度 * @return 随机字符串 */ public static String generateLowerString(int length) { return generateMixString(length).toLowerCase(); } /** * 返回一个定长的随机纯小写字母字符串(只包含大小写字母) * * @param length 随机字符串长度 * @return 随机字符串 */ public static String generateUpperString(int length) { return generateMixString(length).toUpperCase(); } /** * 生成一个定长的纯0字符串 * * @param length 字符串长度 * @return 纯0字符串 */ public static String generateZeroString(int length) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { sb.append('0'); } return sb.toString(); } /** * 根据数字生成一个定长的字符串,长度不够前面补0 * * @param num 数字 * @param fixdlenth 字符串长度 * @return 定长的字符串 */ public static String toFixdLengthString(long num, int fixdlenth) { StringBuffer sb = new StringBuffer(); String strNum = String.valueOf(num); if (fixdlenth - strNum.length() >= 0) { sb.append(generateZeroString(fixdlenth - strNum.length())); } else { throw new RuntimeException("将数字" + num + "转化为长度为" + fixdlenth + "的字符串发生异 常!"); } sb.append(strNum); return sb.toString(); } /** * 根据数字生成一个定长的字符串,长度不够前面补0 * * @param num 数字 * @param fixdlenth 字符串长度 * @return 定长的字符串 */ public static String toFixdLengthString(int num, int fixdlenth) { StringBuffer sb = new StringBuffer(); String strNum = String.valueOf(num); if (fixdlenth - strNum.length() >= 0) { sb.append(generateZeroString(fixdlenth - strNum.length())); } else { throw new RuntimeException("将数字" + num + "转化为长度为" + fixdlenth + "的字符串发生异 常!"); } sb.append(strNum); return sb.toString(); } public static void main(String[] args) { System.out.println(generateString(15)); System.out.println(generateMixString(15)); System.out.println(generateLowerString(15)); System.out.println(generateUpperString(15)); System.out.println(generateZeroString(15)); System.out.println(toFixdLengthString(123, 15)); System.out.println(toFixdLengthString(123L, 15)); } }
运行结果:
vWMBPiNbzfGCpHG 23hyraHdJkKPwMv tigowetbwkm1nde BPZ1KNEJPHB115N 000000000000000 000000000000123 000000000000123 Process finished with exit code 0
到此,关于"Java随机数怎么应用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
字符
字符串
随机数
长度
字母
定长
种子
结果
应用
数字
测试
大小
学习
运行
对象
相同
工具
方法
更多
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全 落实
崩坏三怎么看是什么服务器的
网络安全战队 名称
苏州银行 软件开发 年薪
机柜服务器维修配件报价
宝塔面板服务器怎样管理
如何制作大型服务器的积分
奉节应用软件开发培训
宣传周网络安全法
计算机网络技术是高级复杂吗
数据库中备注怎么命
数据库被定义为数据库对象
数据库用delete删除什么
保障网络安全要以法治为根基
北京联通智慧安全网络技术罗静华
网络安全周会记录表
配方软件开发
网络技术有限公司能做什么
vs如何使用数据库控件
数字化展厅软件开发要求
查看惠普服务器型号
我的世界服务器怎样更换材质包
合肥网络技术专升本大学
网络安全宣传常见问题
数据库系统原理要考试吗
网络安全测试视频教程
网络安全保障宣传稿
贵州广电数据库
软件开发划算吗
少年三国志二新服务器几点开