千家信息网

Java随机数怎么应用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"Java随机数怎么应用",在日常操作中,相信很多人在Java随机数怎么应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java随机数怎么应用"的疑惑
千家信息网最后更新 2026年11月03日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安全错误 数据库的锁怎样保障安全 哈尔滨大商圈互联网科技有限公司 互联网是第几次科技革命的成果 互联网科技活动banner 金融科技还是互联网 亿策互联网科技 深圳艾佳互联网科技 成都仁贤领冠互联网科技有限公司 互联网公司会议桌创意科技软装饰 互联网 科技馆 互联网汽车科技小镇 北京三清互联网科技 山东子淼互联网科技有限公司 互联网第三次科技革命特征 山东星卡互联网科技有限公司官网 抖集互联网科技技术咨询 易租星互联网科技有限公司 互联网金融金融科技 北京品多多互联网科技有限公司 重庆科技产业互联网有哪些 高科技和互联网的现代国家 中智农互联网科技 喔噻互联网科技 新华互联网科技校企合作 青海省互联网新科技 河南猎农互联网科技有限公司 崇明区互联网教育科技售后服务 长沙渺峰互联网科技有限公司 中国互联网公司的科技投入 北京军民互联网科技公司 互联网科技自媒体灵感
0