早教吧 育儿知识 作业答案 考试题库 百科 知识分享

VB随机函数初学..PrivateSubCommand1Click()DimaAsIntegerDimx,yAsSingleFori=1To10x=Val(Text1.Text)y=Val(Text2.Text)a=Int(y*Rnd+x)Text3=aNextEndSubPrivateSubCommand2Click()UnloadMeEndSub这个

题目详情
VB随机函数初学.. Private Sub Command1_Click() Dim a As Integer Dim x, y As Single For i = 1 To 10 x = Val(Text1.Text) y = Val(Text2.Text) a = Int(y * Rnd + x) Text3 = a Next End Sub Private Sub Command2_Click() Unload Me End Sub 这个是一个随机抽取的语句,我想要它在抽取的时候排除已经抽取过的,这样写有没有错,还有我觉得我这样写其实有些步骤可以省略的是不是,还有没有其他写法,(小白)谢谢
▼优质解答
答案和解析
用数组可以,懒得自己写的话用现成的Dictionary也可以: Dim oDict As Dictionary Private Sub Command1_Click() Dim a As Integer Dim x, y As Single For i = 1 To 10 x = Val(Text1.Text) y = Val(Text2.Text) a = Int(y * Rnd + x) If oDict.Exists(a) Then Exit Sub ' 如果a已经存在就不执行后面的语句 oDict.Add a, 0 ' 否则把a加入到字典里 Text1 = a Next End Sub 不过需要添加一个引用 才可以使用DIctionary