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

求解

Public Sub Compute()
    Dim i, j As Integer
    Randomize   'randomize 是初始化随机数生成器
    For i = 1 To 36
        Datas(i) = Int(36 * Rnd + 1)   '产生1到36之间的随机数
        For j = 1 To i - 1
            If Datas(i) = Datas(j) Then
                Exit For
            End If
        Next
        If j < i Then  '控制图片成对出现
            i = i - 1
        End If
    Next
End Sub

这段代码有点晕,不知是什么意思,请高手帮忙解释下,帮助我这个菜鸟! For i = 1 To 36
  Datas(i) = Int(36 * Rnd + 1)
循环 36 次得到36个随即数  存入Datas数组里


  For j = 1 To i - 1
  If Datas(i) = Datas(j) Then
  Exit For
  End If
如果  Datas(i) = Datas(j) 有相同的随即数  则 退出循环


1楼的高手,首先很感谢你的帮助
以上你说的我都知道,关键是这段代码的功能
 If j < i Then '控制图片成对出现
  i = i - 1
  End If
  Next
谢谢啦! 假如目前 I=30
如果两数相等,则j<i就必然成立,i=i-1后为29,next i后 i=30
固I以30再比较一次。

如果两数不相等时j=i,j<i不成立,执行 next i 及i=31

好像i循环只有执行36次datas(i)<>datas(j)才能结束

个人理解,敬请批评指正
补充:VB ,  多媒体
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,