• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 最全的java隨機數生成算法

        時間:2024-10-07 16:55:31 JAVA認證 我要投稿
        • 相關推薦

        最全的java隨機數生成算法

          java隨機數生成算法是怎么樣的?下面yjbys小編為大家分享最新最全的java隨機數生成算法,希望對大家學習有所幫助!

          一個最全的隨機數的生成算法,最代碼的找回密碼的隨機數就是用的這個方法:

          1 String password = RandomUtil.generateString(10);

          源碼如下:

          001 package com.javaniu.core.util;

          002

          003 import java.util.Random;

          004

          005 public class RandomUtil {

          006 public static finalString ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

          007 public static finalString LETTERCHAR = "abcdefghijkllmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

          008 public static final String NUMBERCHAR = "0123456789";

          009

          010 /**

          011 * 返回一個定長的隨機字符串(只包含大小寫字母、數字)

          012 *

          013 * @param length

          014 * 隨機字符串長度

          015 * @return 隨機字符串

          016 */

          017 public static String generateString(int length) {

          018 StringBuffer sb = new StringBuffer();

          019 Random random = new Random();

          020 for (int i = 0; i < length; i++) {

          021 sb.append(ALLCHAR.charAt(random.nextInt(ALLCHAR.length())));

          022 }

          023 return sb.toString();

          024 }

          025

          026 /**

          027 * 返回一個定長的隨機純字母字符串(只包含大小寫字母)

          028 *

          029 * @param length

          030 * 隨機字符串長度

          031 * @return 隨機字符串

          032 */

          033 public static String generateMixString(int length) {

          034 StringBuffer sb = new StringBuffer();

          035 Random random = new Random();

          036 for (int i = 0; i < length; i++) {

          037 sb.append(ALLCHAR.charAt(random.nextInt(LETTERCHAR.length())));

          038 }

          039 return sb.toString();

          040 }

          041

          042 /**

          043 * 返回一個定長的隨機純大寫字母字符串(只包含大小寫字母)

          044 *

          045 * @param length

          046 * 隨機字符串長度

          047 * @return 隨機字符串

          048 */

          049 public static String generateLowerString(int length) {

          050 return generateMixString(length)。toLowerCase();

          051 }

          052

          053 /**

          054 * 返回一個定長的隨機純小寫字母字符串(只包含大小寫字母)

          055 *

          056 * @param length

          057 * 隨機字符串長度

          058 * @return 隨機字符串

          059 */

          060 public static String generateUpperString(int length) {

          061 return generateMixString(length)。toUpperCase();

          062 }

          063

          064 /**

          065 * 生成一個定長的純0字符串

          066 *

          067 * @param length

          068 * 字符串長度

          069 * @return 純0字符串

          070 */

          071 public static String generateZeroString(int length) {

          072 StringBuffer sb = new StringBuffer();

          073 for (int i = 0; i < length; i++) {

          074 sb.append('0');

          075 }

          076 return sb.toString();

          077 }

          078

          079 /**

          080 * 根據數字生成一個定長的字符串,長度不夠前面補0

          081 *

          082 * @param num

          083 * 數字

          084 * @param fixdlenth

          085 * 字符串長度

          086 * @return 定長的字符串

          087 */

          088 public static String toFixdLengthString(long num, int fixdlenth) {

          089 StringBuffer sb = new StringBuffer();

          090 String strNum = String.valueOf(num);

          091 if (fixdlenth - strNum.length() >= 0) {

          092 sb.append(generateZeroString(fixdlenth - strNum.length()));

          093 } else {

          094 throw new RuntimeException("將數字" + num + "轉化為長度為" + fixdlenth

          095 + "的字符串發生異常!");

          096 }

          097 sb.append(strNum);

          098 return sb.toString();

          099 }

          100

          101 /**

          102 * 每次生成的len位數都不相同

          103 *

          104 * @param param

          105 * @return 定長的數字

          106 */

          107 public static int getNotSimple(int[] param, int len) {

          108 Random rand = new Random();

          109 for (int i = param.length; i > 1; i--) {

          110 int index = rand.nextInt(i);

          111 int tmp = param[index];

          112 param[index] = param[i - 1];

          113 param[i - 1] = tmp;

          114 }

          115 int result = 0;

          116 for (int i = 0; i < len; i++) {

          117 result = result * 10 + param[i];

          118 }

          119 return result;

          120 }

          121

          122 public static void main(String[] args) {

          123 System.out.println("返回一個定長的隨機字符串(只包含大小寫字母、數字):"+ generateString(10));

          124 System.out

          125 .println("返回一個定長的隨機純字母字符串(只包含大小寫字母):"+ generateMixString(10));

          126 System.out.println("返回一個定長的隨機純大寫字母字符串(只包含大小寫字母):"

          127 + generateLowerString(10));

          128 System.out.println("返回一個定長的隨機純小寫字母字符串(只包含大小寫字母):"

          129 + generateUpperString(10));

          130 System.out.println("生成一個定長的純0字符串:" + generateZeroString(10));

          131 System.out.println("根據數字生成一個定長的字符串,長度不夠前面補0:"

          132 + toFixdLengthString(123, 10));

          133 int[] in = { 1, 2, 3, 4, 5, 6, 7 };

          134 System.out.println("每次生成的len位數都不相同:" + getNotSimple(in, 3));

          135 }

          136 }

        【最全的java隨機數生成算法】相關文章:

        關于Java通用權限控制的算法06-07

        java五種排序算法匯總07-18

        Java中如何構造、生成XML簡明07-17

        Java認證輔導:Java實現二叉樹遍歷算法10-21

        JAVA認證基礎知識:近似算法(格雷厄姆算法)簡介10-29

        JAVA垃圾收集算法與內存泄露的解決方法10-16

        Java與Java web的區別08-10

        最全企業做賬依據09-17

        最全的嬰兒理發技巧08-29

        最全的國際學校盤點07-09

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 中文字幕亚洲乱码 | 日本中文一二区高清精品在线 | 亚洲日本乱码一区二区三区 | 在线偷着国产精选视频 | 亚洲欧洲日本无在线码不卡 | 亚洲欧美日韩午夜福利 |