<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            最全的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

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院