注册 登录
编程论坛 ASP.NET技术论坛

求随机数产生代码

ping16002 发布于 2008-03-22 10:14, 1790 次点击
求随机数产生代码   一时忘了  请给我说说   谢谢
5 回复
#2
hebingbing2008-03-22 18:10
array
dim char_array(50)
char_array(0) = "0"
char_array(1) = "1"
char_array(2) = "2"
char_array(3) = "3"
char_array(4) = "4"
char_array(5) = "5"
char_array(6) = "6"
char_array(7) = "7"
char_array(8) = "8"
char_array(9) = "9"
char_array(10) = "A"
char_array(11) = "B"
char_array(12) = "C"
char_array(13) = "D"
char_array(14) = "E"
char_array(15) = "F"
char_array(16) = "G"
char_array(17) = "H"
char_array(18) = "I"
char_array(19) = "J"
char_array(20) = "K"
char_array(21) = "L"
char_array(22) = "M"
char_array(23) = "N"
char_array(24) = "O"
char_array(25) = "P"
char_array(26) = "Q"
char_array(27) = "R"
char_array(28) = "S"
char_array(29) = "T"
char_array(30) = "U"
char_array(31) = "V"
char_array(32) = "W"
char_array(33) = "X"
char_array(34) = "Y"
char_array(35) = "Z"

'Initiate randomize method for default seeding
randomize

'Loop through and create the output based on the the variable passed to
'the function for the length of the key.
do while len(output) < digits
num = char_array(Int((35 - 0 1) * Rnd 0))
output = output num
loop

'Set return
gen_key = output
End Function

'Write the results to the browser, currently setting a 13 digit key
response.write "<pre>" & gen_key(13) & "</pre>" & vbcrlf
%>
#3
缘来2008-03-23 09:55
用Random类中的方法应该可以吧
#4
仰望星空2008-03-23 11:35
回复 2# 的帖子
注意这里是板块,不要发asp代码
#5
1916381412008-03-23 13:06
public string createnum(int count)
{
string[] st=new string[]{0,1,2,3,4,5,6,7,8,9,A,B.....};
string str="";
Random rand=new random();
for(int i=0;i<=count;i++)
 {
    int t=rand.Next(数组的长度);//rand.Next(st.length)
    str+=st[t];
 }
return str;
}
#6
hebingbing2008-03-24 16:17
回复 4# 的帖子
罪过,罪过。对不起,以前学asp的。对不起啊~
private string GetByRndNum(int VcodeNum)
        {
            string Vchar = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,x,y,z" ;
            string[] VcArray = Vchar.Split(',') ;
            string  VNum = "" ;
            int temp = -1 ;
            Random rand =new Random();
            for ( int i = 1 ; i < VcodeNum+1 ; i++ )
            {   
                if ( temp != -1)
                {
                    rand =new Random(i*temp*unchecked((int)DateTime.Now.Ticks));
                }   
                int t =  rand.Next(35) ;
                if (temp != -1 && temp == t)
                {
                    return GetByRndNum( VcodeNum );
                }
                temp = t  ;
                VNum += VcArray[t];
            }
            return VNum ;
        }
这是的在这补上~~
String.Split 方法返回包含此实例中的字符串的String数组。
Random类表示伪随机数生成器,是一种能够产生满足某些随机性统计要求的数字序列的设备。
unchecked关键字用于取消整形算术运算和转换的溢出检查,DataTime。Ticks属性获取表示此实例的日前和时间的刻度数。
Random。Next方法返回一个小于所指最大值的非负随机数。
这段代码加上我自己觉得难理解的地方的解释应该可以补过了吧~
呵呵

[[it] 本帖最后由 hebingbing 于 2008-3-24 17:06 编辑 [/it]]
1