中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java隨機數怎么應用

發布時間:2022-01-06 17:31:41 來源:億速云 閱讀:296 作者:iii 欄目:編程語言

這篇文章主要介紹“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隨機數怎么應用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上杭县| 娱乐| 铜川市| 理塘县| 彭州市| 罗定市| 贵溪市| 来安县| 沙田区| 呈贡县| 绩溪县| 南投市| 长寿区| 肥乡县| 义马市| 内丘县| 宁海县| 吉水县| 宜都市| 黄陵县| 汽车| 论坛| 巍山| 方正县| 潜江市| 修文县| 红河县| 攀枝花市| 稻城县| 上饶县| 石林| 大方县| 靖宇县| 察雅县| 利辛县| 道真| 通许县| 宁晋县| 井研县| 平谷区| 新建县|