首页 > 编程知识 正文

随机数生成java,产生随机数的算法

时间:2023-05-04 22:30:46 阅读:107254 作者:3109

最完整的java随机数生成算法

java随机数生成算法怎么样? 下面yjbys小编就和大家分享最新的java随机数生成算法,希望对大家的学习有所帮助!

在最完整的随机数生成算法中,恢复最编码密码的随机数使用此方法。

1 string password=random util.generatestring (10;

源代码如下所示。

001 package com.Java Niu.core.util;

002

003 import java.util.Random;

004

005公共类随机实用工具{

06 publicstaticfinalstringallchar=' 0123456789 abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz ';

07 publicstaticfinalstringletterchar=' abcdefghijkllmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz ';

08 publicstaticfinalstringnumberchar=' 0123456789 ';

009

010 /**

011 *返回固定长度的随机字符串。 只包含大小写和数字。

012 *

013 * @param length

014 *随机字符串长度

015 * @return随机字符串

016 */

017公共字符串生成字符串(int length )。

018字符串缓冲区sb=new字符串缓冲区(;

019 Random random=new Random (;

020for(intI=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 publicstaticstringgeneratemixstring (int length ) {

034字符串缓冲区sb=new字符串缓冲区(;

035 Random random=new Random (;

036for(intI=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 publicstaticstringgeneratelowerstring (int length ) {

050返回字符串(长度)。 toLowerCase (;

051 }

052

053 /**

054 *返回固定长度的随机小写字符串。 只包含大小写

055 *

056 * @param length

057 *随机字符串长度

058 * @return随机字符串

059 ) /

060 publicstaticstringgenerateupperstring (int length ) {

061返回字符串(长度)。 toUpperCase (;

062 }

063

064 /**

065 *生成固定长度的纯0字符串

066 *

067 * @param length

068 *字符串长度

069 * @return纯0字符串

070 */

071 publicstaticstringgeneratezerostring (int length ) {

072字符串缓冲区sb=new字符串缓冲区(;

073for(intI=0; i length; I ) {

074sb.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 publicstaticstringtofixdlengthstring {

089字符串缓冲区sb=new字符串缓冲区(;

090 string strnum=string.value of (num;

091 if (fixdlenth-strnum.length (=0) )。

092 sb.append (generatezerostring (fixdlenth-strnum.length () );

093 ) else{

094 throw new RuntimeException ('将数字“num”转换为长度“fixdlenth”

095 '的字符串发生异常!' );

096 }

097sb.append(strnum;

098 return sb.toString (;

099 }

100

101 /**

102 *生成的len位数每次都不一样

103 *

104 * @param param

105 * @return固定长度的数字

106 */

107 publicstaticintgetnotsimple (int [ ] param,int len ) {

108 Random rand=new Random (;

109for(intI=Param.Length; i 1; I----) {

10intindex=rand.nextint(I;

111 int tmp=param[index];

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

113 param[i - 1]=tmp;

114 }

115 int result=0;

16for(intI=0; i len; I ) {

117 result=result * 10 param[i];

118 }

119返回结果;

120 }

121

122 publicstaticvoidmain (string [ ] args ) {

123 System.out.println (' )返回固定长度的只包含大小写和数字的随机字符串。 (generatestring ) ) 10 );

124 System.out

125 .println (返回“一定长度的”随机纯字符串()仅包含大小写) )、generatemixstring ) 10 );

126 System.out.println ('返回固定长度的随机大写字符串(仅包括大写字母) )。

127第十代发生器;

128 System.out.println (' )返回只包含固定长度的随机小写字母的字符串。 ()。

129第十代更新;

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。