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