你可以隨機(jī)從ASCII碼中的33到126之間隨機(jī)選一個數(shù)
在永泰等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),永泰網(wǎng)站建設(shè)費(fèi)用合理。
然后還原成字符
重復(fù)12次就可以得到12位隨機(jī)字符串了~
使用rnd函數(shù)
為了生成某個范圍內(nèi)的隨機(jī)整數(shù),可使用以下公式
Int((upperbound
-
lowerbound
+
1)
*
Rnd
+
lowerbound)
upperbound
是隨機(jī)數(shù)范圍的上限,而
lowerbound
則是隨機(jī)數(shù)范圍的下限
Int((126
-
33
+
1)
*
Rnd
+
33)
Chr
函數(shù)
就是還原asc碼為字符
Randomize
為了保證每次重新加載程序不生成同樣的隨機(jī)數(shù)
代碼如下:
Private
Sub
Command1_Click()
Randomize
Dim
str1
As
String
For
i
=
1
To
12
str1
=
str1
Chr(Int((126
-
33
+
1)
*
Rnd
+
33))
Next
i
MsgBox
str1
End
Sub
1.隨機(jī)產(chǎn)生英文字母
Randomize() '功 能:初始化隨機(jī)數(shù)發(fā)生器
Me.txt1.Text = Chr(Asc("a") + Int(Rnd() * 26))
'Rnd 函數(shù)返回小于 1 但大于或等于 0 的值。
'0 = Rnd() * 26 26 是含小數(shù)位的數(shù)
'Int(Rnd() * 26) 轉(zhuǎn)換為整型,就是0~25的隨機(jī)數(shù)
'Asc("a") 得到a的ASCii數(shù)值,是整數(shù)97(A是65)
'a~z的ASCii為97~122 ,即為a~z之間的字母為97加(0~25)
'Asc("a") + Int(Rnd() * 26)為97到122的隨機(jī)數(shù)
'Chr()又可以起到轉(zhuǎn)換成字符的功能,Chr(97)表示a (a轉(zhuǎn)換成數(shù)值又是Asc("a")=97)
'Chr(Asc("a") + Int(Rnd() * 26))就是a~z的隨機(jī)數(shù)了
Randomize() '再次初始化隨機(jī)數(shù)發(fā)生器
Me.txt2.Text = Chr(Asc("A") + Int(Rnd() * 26)) '這里是A~Z的隨機(jī)數(shù)
'也可以換這種寫法
Randomize()
Me.txt1.Text = Chr(Int((26 * Rnd()) + 97)) '這里是a~z的隨機(jī)數(shù)
'這是在你知道ASCII碼的情況之下(a~z為97~122,A~Z為65~90)
'Rnd()為0~0.9999999.....的隨機(jī)數(shù)
' 26 * Rnd()為0~25.9999...的隨機(jī)數(shù)
'Int((26 * Rnd())為0~25的隨機(jī)數(shù)
'Int((26 * Rnd()) + 97)為97~122的隨機(jī)數(shù)
'Chr(Int((26 * Rnd()) + 97))就是a~z的隨機(jī)數(shù)了
Randomize()
Me.txt2.Text = Chr(Int((26 * Rnd()) + 65)) '這里是A~Z的隨機(jī)數(shù)
'至于同時在一處隨機(jī)大寫或小寫,ASCII碼的數(shù)字又不挨在一起(65-90,97-122),比較麻煩。想寫的話,你可以自己想一下怎么辦
2.數(shù)字怎樣轉(zhuǎn)換成ASCII碼所對應(yīng)的字母
Chr()函數(shù)將數(shù)字轉(zhuǎn)換成ASCII對應(yīng)的字母,Asc()函數(shù)將字母根據(jù)ASCII表轉(zhuǎn)換成數(shù)字
Chr(97)表示a (a轉(zhuǎn)換成數(shù)值又是Asc("a")=97)
3.加到數(shù)組,你可以放在一個for循環(huán)里
比如
Dim arylst1 As New ArrayList
Dim arr1() As String '數(shù)組
Dim str1 As String
For i As Integer = 1 To 15 '比如我想要15個隨機(jī)字母
Randomize()
str1 = Chr(Int((26 * Rnd()) + 65)) '這里是A~Z的隨機(jī)數(shù)
arylst1.Add(str1)
Next
ReDim arr1(arylst1.Count - 1) '這里是為了比較動態(tài),可以只改變 i 的范圍來決定要多少個隨機(jī)字母
'當(dāng)然也可以寫死,在前面直接定義為 arr1(14),下次要改的時候就要改定義的地方和i的范圍,改兩個地方
arylst1.CopyTo(arr1)
'就把數(shù)值拷貝到數(shù)組里面了
你可以換個思路嘛,隨機(jī)數(shù)只能顯示數(shù)字,但也可以轉(zhuǎn)換為符號
Dim a
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Randomize()
a = Int(Rnd() * 4) + 1
Select Case a
Case 1
TextBox1.Text = "+"
Case 2
TextBox1.Text = "-"
Case 3
TextBox1.Text = "*"
Case 4
TextBox1.Text = "/"
End Select。
private
sub
command1_click()'按鈕的單擊事件
dim
a,
c$'定義變量
for
a
=
1
to
12'開始12次循環(huán)
c
=
c
chr(int((rnd()
*
79))
+
48)'每次產(chǎn)生一個字符。
next
a'
text1.text
=
c'將結(jié)果輸出在文本框中。
end
sub'單擊事件結(jié)束
說個思路,
1.寫一個字符數(shù)組將所有的字母字符存放起來如
a[52]={a,b,c,d.....z,A,B,C,....Z}
2.用隨機(jī)函數(shù)產(chǎn)生器產(chǎn)生一個隨機(jī)數(shù)
c#
里面好像是random,可以帶參數(shù),指定產(chǎn)生多大的一個隨機(jī)數(shù),這里最大的是51,即每次產(chǎn)生一個從0到51的數(shù),
3.利用隨機(jī)數(shù)作為數(shù)組下標(biāo)得到數(shù)組里對應(yīng)的字符,OK
這只是產(chǎn)生了一個字母,如果想產(chǎn)生多個隨機(jī)字母,則在一個循環(huán)里做2-3步
整一個隨機(jī)數(shù),然后把這個隨機(jī)數(shù)放進(jìn)textbox里邊就可以了,如果需要隨機(jī)函數(shù)網(wǎng)上很多源碼
分享文章:vb.net產(chǎn)生隨機(jī)字符 c語言產(chǎn)生隨機(jī)字符
瀏覽路徑:http://muchs.cn/article8/docdcop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、電子商務(wù)、品牌網(wǎng)站制作、網(wǎng)站導(dǎo)航、網(wǎng)站營銷、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)