Private Sub Command1_Click()
Dim x As Integer
For x = 1 To 100
List1.AddItem (Int(100 * Rnd()))
If ((Int(100 * Rnd())) >= 10) Then
Print
Else
End If
Next x
End Sub
答案 0 :(得分:2)
我认为您可能输错了此代码,因为我看不到您要打印的内容。此外,通常您应该将随机数分配给临时变量。因此,您添加到列表中的随机数与if块中的随机数不同。
答案 1 :(得分:2)
如果您希望随机数范围从10到99,则需要稍微计算它们。有90种不同的可能值,因此您将Rnd()乘以。然后添加最小值,即10:
Private Sub Command1_Click()
Dim x As Integer
For x = 1 To 100
List1.AddItem(Int(90 * Rnd()) + 10)
Next x
End Sub
答案 2 :(得分:1)
看起来是因为您生成了一次随机数,并将其添加到List1
;然后你生成另一个不同的随机数并有条件地打印它。
您没有对添加到List1
的数字进行任何过滤,我不太确定您要打印的是什么(我不是VB人员)。
答案 3 :(得分:1)
错误似乎分为两部分。首先,您要在列表中添加一个与您要比较的数字不同的数字。
第二个是你以错误的方式使用Rnd。有关用法,请参阅http://msdn.microsoft.com/en-us/library/f7s023d2(VS.80).aspx,但基本上,您设置代码的方式是生成0到100之间的数字。因为rnd返回单个数据。
发生了什么事情,你基本上做100 * 0.5,返回50或100 * 0.01,返回1。
如果你想要100的下限,你必须这样做。
CInt(Int((upperbound - lowerbound + 1) * Rnd() + lowerbound))
另外,请不要忘记在使用Rnd之前调用Randomize()