<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 最全的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

    主站蜘蛛池模板: 国产精品欧美亚洲韩国日本久久 | 亚洲一日韩欧美中文字幕欧美日韩在线精品一区二 | 久久国产免费观看精品| 无码国模国产在线无码精品国产自在久国产| 国产成人精品免费视频大全麻豆| 一本大道无码日韩精品影视| 国产精品无码永久免费888| 国产精品国产三级国产专播| 无码精品国产VA在线观看DVD| 久久精品成人一区二区三区| 日韩精品成人一区二区三区| 国产精品va无码一区二区| 亚洲国产精品福利片在线观看| 久久五月精品中文字幕| 亚洲精品免费观看| 久久国产精品久久国产精品| 国产区精品一区二区不卡中文| 亚洲国产第一站精品蜜芽| 精品久久人妻av中文字幕| 久热这里只精品99re8久| 亚洲AV无码成人精品区蜜桃| 精品午夜国产人人福利| 国产精品 日韩欧美| 88国产精品欧美一区二区三区| 2021国产精品视频| 国产在线精品无码二区| 人妻少妇精品无码专区二区| 亚洲欧美日韩精品久久亚洲区 | A级精品国产片在线观看| 亚洲AV日韩精品久久久久| 中文字幕在线精品视频入口一区| 日韩亚洲精品福利| 无码国内精品久久人妻麻豆按摩| 免费精品精品国产欧美在线| 久久精品国产福利国产琪琪| 久久91这里精品国产2020| 国产午夜亚洲精品国产成人小说 | 无码人妻精品一区二区| 亚洲AV无码久久精品狠狠爱浪潮| 最新在线精品国自av| 真实国产乱子伦精品一区二区三区|