تقدم هذه المقالة بشكل أساسي طريقة إنشاء أرقام عشوائية غير متكررة في ASP ويمكن للأصدقاء الذين يحتاجون إليها الرجوع إليها.
يقوم ASP بإنشاء أرقام عشوائية:
انسخ رمز الكود كما يلي:
عشوائية "عشوائية بحتة، لا التكرار
Response.write Int((999999999 * Rnd) + 111111111) 'إنشاء رقم عشوائي بين 111111111 و999999999
ASP لا يكرر الأرقام العشوائية:
الطريقة الأولى: تم اختبارها
عند استخدامه، عليك الانتباه إلى الأحرف الموجودة داخل السلسلة والتي تقسم السلسلة.
انسخ رمز الكود كما يلي:
<%
'المصفوفة التي تم إنشاؤها هي مصفوفة غير متكررة
الدالة GetRnd (الرقم السفلي، الرقم العلوي)
وحدة خافتة، RndNum، Fun_X
الوحدة = الرقم العلوي - الرقم السفلي
استرداد MyArray (الوحدة)
For Fun_I=0 للوحدة
myArray(Fun_I)= LowerNum + Fun_I
التالي
من أجل Fun_I = 0 للتقريب (الوحدة)
RndNum = getRndNumber(Fun_I,unit)
Fun_X = myArray(RndNum)
myArray(RndNum)=myArray(Fun_I)
myArray(Fun_I)=Fun_X
التالي
GetRnd = الانضمام (myArray)
وظيفة النهاية
الدالة getRndNumber(الحد الأدنى، الحد العلوي)
عشوائية
getRndNumber=Int((الحد العلوي-الحد الأدنى+1)*Rnd+الحد الأدنى)
وظيفة النهاية
الاستجابة.اكتب GetRnd(1,1000)
%>
الطريقة الثانية:
انسخ رمز الكود كما يلي:
<%
الدالة rndarray(istart,iend,sum)
dim arrayid(),i,j,blnre,temp,iloop,eloop
تخليص المصفوفة (مجموع 1)
أنا = 0
إيلوب=0
إيلوب=0
blnre=false
عشوائية
افعل بينما أنا<sum
درجة الحرارة = int (rnd * (iend-istart+1)+istart)
إذا كنت = 0 ثم
arrayid(0)=temp
ط=ط+1
iloop=iloop+1
آخر
لـ j=0 إلى i-1
إذا arrayid(j)=temp إذن
blnre=true
iloop=iloop+1
الجملة "exit for'" مهمة جدًا لمنع الحلقات المتكررة.
آخر
iloop=iloop+1
نهاية إذا
التالي
إذا blnre = خطأ ثم
arrayid(i)=temp
ط=ط+1
آخر
blnre=false
نهاية إذا
نهاية إذا
حلقة
rndarray=join(arrayid)
وظيفة النهاية
Response.write rndarray(1,5,1) 'رقم البداية، رقم النهاية، كم عدد الأرقام التي تم إنشاؤها
%>