求教:如何输入一些数字,让它随机出现

来源:百度知道 编辑:UC知道 时间:2024/05/13 15:34:20
比如说2233445566,让他们随机的出现,但是还是只能有这么几个数字和次数。

On Error GoTo reInput
Dim numStr As String '数字字符串
Dim finalStr As String '最终内容
Dim i As Integer, r As Integer
Dim nums() As Integer, unuse() As Boolean

reInput: numStr = Trim(InputBox("请输入一串数字,如123456789。", "输入数字", "123456789"))

ReDim Preserve nums(Len(numStr) - 1)
ReDim Preserve unuse(Len(numStr) - 1)

For i = 0 To Len(numStr) - 1
nums(i) = Mid(numStr, i + 1, 1) '分割数字
unuse(i) = True '初始化标志
Next i

Randomize

For i = 0 To Len(numStr) - 1 '重复
goRep: r = Int(Rnd * Len(numStr)) '产生随机数

If unuse(r) = True Then '没有抽到
unuse(r) = False '把它置为“已经抽到过”
finalStr = finalStr & Trim(nums(r)) '加入最终内容
Else '已经抽到过了
GoTo goRep '重新产生随机数
End If

DoEvents
Next i

MsgBox "数字重组结果: " & finalStr

可以随机产生N(N=字符串长度)个大小各不相同的数字,然后根据这些随机数在整个随机数组中的排位决定制取原字符串中的哪个数