亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

最全的java隨機(jī)數(shù)生成算法

時間:2024-10-07 16:55:31 JAVA認(rèn)證 我要投稿
  • 相關(guān)推薦

最全的java隨機(jī)數(shù)生成算法

  java隨機(jī)數(shù)生成算法是怎么樣的?下面yjbys小編為大家分享最新最全的java隨機(jī)數(shù)生成算法,希望對大家學(xué)習(xí)有所幫助!

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

  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 * 返回一個定長的隨機(jī)字符串(只包含大小寫字母、數(shù)字)

  012 *

  013 * @param length

  014 * 隨機(jī)字符串長度

  015 * @return 隨機(jī)字符串

  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 * 返回一個定長的隨機(jī)純字母字符串(只包含大小寫字母)

  028 *

  029 * @param length

  030 * 隨機(jī)字符串長度

  031 * @return 隨機(jī)字符串

  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 * 返回一個定長的隨機(jī)純大寫字母字符串(只包含大小寫字母)

  044 *

  045 * @param length

  046 * 隨機(jī)字符串長度

  047 * @return 隨機(jī)字符串

  048 */

  049 public static String generateLowerString(int length) {

  050 return generateMixString(length)。toLowerCase();

  051 }

  052

  053 /**

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

  055 *

  056 * @param length

  057 * 隨機(jī)字符串長度

  058 * @return 隨機(jī)字符串

  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 * 根據(jù)數(shù)字生成一個定長的字符串,長度不夠前面補(bǔ)0

  081 *

  082 * @param num

  083 * 數(shù)字

  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("將數(shù)字" + num + "轉(zhuǎn)化為長度為" + fixdlenth

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

  096 }

  097 sb.append(strNum);

  098 return sb.toString();

  099 }

  100

  101 /**

  102 * 每次生成的len位數(shù)都不相同

  103 *

  104 * @param param

  105 * @return 定長的數(shù)字

  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("返回一個定長的隨機(jī)字符串(只包含大小寫字母、數(shù)字):"+ generateString(10));

  124 System.out

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

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

  127 + generateLowerString(10));

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

  129 + generateUpperString(10));

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

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

  132 + toFixdLengthString(123, 10));

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

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

  135 }

  136 }

【最全的java隨機(jī)數(shù)生成算法】相關(guān)文章:

關(guān)于Java通用權(quán)限控制的算法06-07

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

Java中如何構(gòu)造、生成XML簡明07-17

Java認(rèn)證輔導(dǎo):Java實(shí)現(xiàn)二叉樹遍歷算法10-21

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

JAVA垃圾收集算法與內(nèi)存泄露的解決方法10-16

Java與Java web的區(qū)別08-10

最全企業(yè)做賬依據(jù)09-17

最全的嬰兒理發(fā)技巧08-29

最全的國際學(xué)校盤點(diǎn)07-09

主站蜘蛛池模板: 一卡二卡三卡视频| 欧美成人精品 一区二区三区| 久久久久无码精品国产人妻无码| 91视频免费观看网站| 中江县| 亚洲精品久久久www| 韩国三级l中文字幕无码| 国语自产精品视频在线30| 亚洲另类无码专区国内精品| 人人妻人人澡人人爽国产| 日韩精品一区二区在线观看| 亚洲人成黄网站69影院| 久久国产乱子伦精品免费午夜 | 依依成人精品无v国产| 国产日韩久久久久无码精品| 日韩激情一区二区无码AV| 日本a在线免费观看 | 国产亚洲日韩网曝欧美台湾| 国产精品国产三级国产专区50| 亚洲va中文字幕无码久久| 2020国产成人精品影视| 99精品一区二区三区无码吞精 | 激情欧美成人久久综合| 又大又粗又长的高潮视频| 在线看午夜福利片国产| 999久久欧美人妻一区二区| 无码任你躁久久久久久| 人妻中出受孕 中文字幕在线| 亚洲aⅴ天堂av天堂无码麻豆| 国产成人精品三级麻豆| 国产又a又黄又潮娇喘视频| 精品亚洲国产成人小电影| 又嫩又硬又黄又爽的视频| 国产精品高潮露脸在线观看| 海南省| 色综合中文网| 好久久免费视频高清| 香港一级毛片免费看| 亚洲综合第一区| 三级网站| 亚洲中文字幕无码av网址|