随机数算法 java_最全的java随机数生成算法[通俗易懂]

随机数算法 java_最全的java随机数生成算法[通俗易懂]最全的java随机数生成算法java随机数生成算法是怎么样的?下面yjbys小编为大家分享最新最全的java随机数生成算法,希望对大家学习有所帮助!一个最全的随机数的生成算法,最代码的找回密码的随机数就是用的这个方法:1Stringpassword=RandomUtil.generateString(10);源码如下:001packagecom.javaniu.core.util;00…

大家好,又见面了,我是你们的朋友全栈君。

最全的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随机数生成算法】相关文章:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158941.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • C++中构造函数的作用「建议收藏」

    C++中构造函数的作用「建议收藏」构造函数用于解决类中的对象初始化的问题构造函数是一类特殊的函数,与其他的成员函数不同的是构造函数构造函数不需要用户来调用它,而是建立对象的时候自动的执行#include//#include”student.h”//#include//#includeusingnamespacestd;classTime{publi

  • 可以搜课程设计的网站_课程设计论文格式

    可以搜课程设计的网站_课程设计论文格式1.主要功能:展示各种类型的作文。普通用户的登录注册和管理员用户登录。可以精确或模糊按照作文题目搜索。还有分页功能,首页、尾页、上一页、下一页。返回顶部等等很多功能。普通用户登录:发表作文,管理自己的作文,管理自己账号。管理员用户登录:发表作文,管理所有的作文,管理所有账号。数据库用的是sqlserver。丰富精美的css、js效果。2.效果截图:登录/注册没登录时的基础首页普通用户:左边的侧边栏可以随意显示隐藏。管理员:3.项目文件截图:

    2022年10月31日
  • 深度学习基础之-2.6标签值归一化

    深度学习基础之-2.6标签值归一化提出问题在计算Loss时,会达到172.287,337.246这样大的数值,一般Loss都应该小于1.解决问题标签值也归一化公式如下:(1)ynew=y−yminymax−ymin=y−yminyrangey_{new}=\frac{y-y_{min}}{y_{max}-y_{min}}=\frac{y-y_{min}}{y_{range}}\tag{1}ynew​=ymax​−…

    2022年10月10日
  • ThinkPHP运算符 与 SQL运算符 对比表[通俗易懂]

    ThinkPHP运算符 与 SQL运算符 对比表

  • asp.net core中使用log4net

    asp.net core中使用log4net和之前的ASP.NETMVC中的使用LOG4NET的方法有些不同,这里先记录一下,使用步骤如下:1.建立ASP.NETCORE项目中,NUGET中搜索log4net后下载安装2.根目录建立log4net.config文件,内容如下:&lt;?xmlversion="1.0"encoding="utf-8"?&gt;&lt;configuration&gt; &lt;!–T…

  • MAC压缩文件 密码 加密ZIP[通俗易懂]

    MAC压缩文件 密码 加密ZIP[通俗易懂]使用zip命令压缩进入需要压缩文件的目录后执行单个文件:zip-etest.ziptext.txt文件夹:文件:zip-ertest.ziptext不加密:zip-rtest.ziptext执行命令输入两次密码即可,注:保证路径正确。lizz365@localhost:~/Documents/workspace$zip-erreporter…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号