實(shí)際一般需要從數(shù)據(jù)庫(kù)中隨機(jī)提取N道題目。
以下代碼都基于VBS;
通常的編寫類似這樣的
"產(chǎn)生不重復(fù)隨機(jī)數(shù) for j=0 to i-1 if blnre=false then end if response.write rndarray(1,10,5)&"<br>""調(diào)用過程 |
PS。其中的iloop、eloop是為了計(jì)算循環(huán)次數(shù)而已。
以上,大多數(shù)人的都是用這種方法編寫的,生成一個(gè)隨機(jī)數(shù),然后再和以前生成的做比較,判斷是否可用;
但這不是一種AI的,或者說有效率的方法,為什么不用兩個(gè)數(shù)組呢?
數(shù)組1,存放需要的字符串,或數(shù)字等,數(shù)組2存放生成的隨機(jī)數(shù);當(dāng)每次隨機(jī)生成中間變量temp的一個(gè)下標(biāo)x,賦給數(shù)組2,然后從數(shù)組1中,去掉下標(biāo)為x的數(shù)字,賦給中間變量temp;這樣每生成一個(gè)隨機(jī)數(shù),就從數(shù)組1中拿掉這個(gè)數(shù),下次再生成一個(gè)數(shù)就不會(huì)重復(fù)了,這種產(chǎn)生隨機(jī)數(shù)的方法原理實(shí)際是從數(shù)組1中提取。
方法二
function rndstr(istart,iend,isum) dim vntarray2(),temp,x,y response.write rndstr(1,5,2) |
這樣,是不是更簡(jiǎn)單呢
展開一下,假如要生成隨機(jī)字符串,包含字母數(shù)字時(shí),僅需為數(shù)組1賦值時(shí),用函數(shù)chr(num);
假設(shè),需要做一個(gè)手機(jī)中獎(jiǎng)的頁(yè)面程序。
首先把值賦給數(shù)組1,可以130....~139....循環(huán)賦值,當(dāng)然實(shí)際使用時(shí)從數(shù)據(jù)庫(kù)中把已有的賦值,然后再隨機(jī)提取賦給數(shù)組2;
最后,再修飾一下
temp=replace(join(array2),chr(32),"") phone=left(temp,6)&"***"&right(temp,2) |
得到類似137648***58的結(jié)果,呵呵
寫那么多,累死了~~
聲明:本頁(yè)內(nèi)容由湖南景煌網(wǎng)絡(luò)通過網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶參考;本站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如您認(rèn)為本網(wǎng)頁(yè)中有涉嫌抄寫的內(nèi)容,請(qǐng)及時(shí)與我們聯(lián)系進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系您,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。如果您對(duì)網(wǎng)站優(yōu)化核心技術(shù)文章感興趣,請(qǐng)點(diǎn)擊查看網(wǎng)站建設(shè)和網(wǎng)站推廣的相關(guān)文章,請(qǐng)關(guān)注湖南景煌網(wǎng)絡(luò)官網(wǎng)(www.banjiwang.cn)
全國(guó)7x24小時(shí)客服熱線
50倍賠付終端服務(wù)時(shí)間
部分產(chǎn)品可享受15天無(wú)理由退款
全國(guó)多家分公司便捷服務(wù)
持續(xù)陪伴企業(yè)成長(zhǎng),共創(chuàng),共贏
幫助企業(yè)建設(shè)全網(wǎng)營(yíng)銷生態(tài)鏈
讓企業(yè)與用戶快速連接一切
為企業(yè)與用戶搭建共享開發(fā)平臺(tái)
0731-82272030
公司地址:長(zhǎng)沙市雨花區(qū)韶山北路460號(hào)(原86號(hào))興威名座北棟1202室
長(zhǎng)沙市芙蓉區(qū)、天心區(qū)、岳麓區(qū)、開福區(qū)、雨花區(qū)、望城區(qū)均可提供上門洽談服務(wù)
湖南景煌網(wǎng)絡(luò)科技有限公司--為你提供網(wǎng)站建設(shè)、百度SEO、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、百度排名、小程序開發(fā)等服務(wù)
微信公眾號(hào)