如题所述
Private Sub Form_Click()
Randomize
For i = 10 To 99
n = Int(Rnd * i + 10)
Next
Print n
End Sub
追问:
int(n)不是返还整数吗?随机的会产生非整数吗?
如果不加int直接Rnd * 90 + 10可以吗?
还有,既然是For i = 10 To 99,为什么后面还要+10呢?
回答:
随机 当然会产生 非整数! 其原理是 rnd 是 代表小于1 ,大于或等于0 之间的任意一个数。
咱们假设 rnd随机 了 一个数是 0 那么 n=Int(rnd*i+10) 是多少?
就是 0*i+10 最小的数是 10.
也就达到了你那个范围 10----99 不过我那个答案 写错了 应该是这样:
Private Sub Form_Click()
Randomize
For i = 10 To 90
n = Int(Rnd * i + 10)
Next
Print n
End Sub
Randomize
For i = 10 To 99
n = Int(Rnd * i + 10)
Next
Print n
End Sub
追问:
int(n)不是返还整数吗?随机的会产生非整数吗?
如果不加int直接Rnd * 90 + 10可以吗?
还有,既然是For i = 10 To 99,为什么后面还要+10呢?
回答:
随机 当然会产生 非整数! 其原理是 rnd 是 代表小于1 ,大于或等于0 之间的任意一个数。
咱们假设 rnd随机 了 一个数是 0 那么 n=Int(rnd*i+10) 是多少?
就是 0*i+10 最小的数是 10.
也就达到了你那个范围 10----99 不过我那个答案 写错了 应该是这样:
Private Sub Form_Click()
Randomize
For i = 10 To 90
n = Int(Rnd * i + 10)
Next
Print n
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答 2016-01-01
Int(Rnd*99+1)函数产生的是【1,99】区间的随机整数,需要多个这样的随机整数,那就与循环语句和数组配合使用。
例如产生10个【1,99】区间的随机整数存放在数组A中
Dim A(10) As Integer
Randomize
For i=1 to 10
A(i)=Int(Rnd*99+1)
Next i
Rnd函数产生0.*******的随机数,Int函数返回不大于其参数的整数,所以求【a,b】区间的随机整数可以用表达式:Int(Rnd*(b-a+1)+a)
例如产生10个【1,99】区间的随机整数存放在数组A中
Dim A(10) As Integer
Randomize
For i=1 to 10
A(i)=Int(Rnd*99+1)
Next i
Rnd函数产生0.*******的随机数,Int函数返回不大于其参数的整数,所以求【a,b】区间的随机整数可以用表达式:Int(Rnd*(b-a+1)+a)
第2个回答 2016-01-03
public class Client {
@Test
public void client() {
Star star = (Star) new ProxyFactory(new StarBeforeAdvice(), new RealStar(), new StarAfterAdvice()).createProxy();
star.singSong();
star.dancing();
}
// ...
}
@Test
public void client() {
Star star = (Star) new ProxyFactory(new StarBeforeAdvice(), new RealStar(), new StarAfterAdvice()).createProxy();
star.singSong();
star.dancing();
}
// ...
}
第3个回答 2016-01-02
都已经采纳了 为什么不关闭