当前位置:编程学习 > VB >>

vb6一个简单的固定内容字符串随机问题

感谢各位,请问我的思路是
dim a()


a是个数组内容为(11,22,aa,44,bb)5个元素,假设
每次执行的话随机得到其中一个元素,而不是其中一个数字。也就是说要字符串不要数字。
我试过了rnd但是每次都乱七八糟的,而且是数字不是字符串。
请各位给个代码。。。要是能控制几率就更好了。。。。。
我之前RND每次得到的结果好像都是最高和最低范围内的数,而不是5个其中之一,比如上限55,下限11
中间有22,33,44
也就是
(11,22,33,44,55)
我想得到随机其中一个,每次都是出个什么25,36,48,15这种
小弟VB不是太精,只是稍微懂点,自学的,所以献丑了各位
感谢 假如上面数组是五个数,那么通过随机数除以5后产生的余数为0,1,2,3,4这几个数正是数组的下标,由下标去获取数组的内容,不可行吗? 如果你认为数组中的 11, 22, 44 也是字符串的话:

MsgBox a(Int(rnd()*5))

否则:
strTmp = "12"
Do While IsNumeric(strTmp)
    strTmp = a(Int(rnd()*5))
Loop
MsgBox strTmp

控制概率也是可行的,看你要怎样控制。
Private Sub Command1_Click()
Dim a(4) As Variant
Dim i As Long
    a(0) = 11
    a(1) = 22
    a(2) = "aa"
    a(3) = 44
    a(4) = "bb"
    i = CLng(Rnd * 5)
    Debug.Print a(i), TypeName(a(i))
End Sub
'bb            String
' 44           Integer
' 44           Integer
' 22           Integer
'aa            String
'bb            String
' 11           Integer
'bb            String
'bb            String
'bb            String
' 11           Integer
'aa            String
'bb            String
'……
这很简单
将数组中是数字的装入一个新的数组
然后用 新数组(Int(Rnd() * UBound(新数组))) 得到一个随机的元素。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,