关于产生不重复随机数的问题,求助各位大神

weixin_42349845 2018-05-30 11:11:10
Public Class Form1
Dim a() As Integer
Dim i =0

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim p As Integer
Dim f = 1
Dim k As Integer
Do While f
f = 0
p = Int((10 - 0 + 1) * Rnd() + 0)
k = 0
If i >= 1 Then
Do While k < i
If p = a(k) Then
f = 1
Exit Do
End If
k = k + 1
Loop
End If
Loop
i = i + 1
ReDim a(i)
a(i - 1) = p
RichTextBox1.AppendText(p & vbCrLf)
End Sub


End Class

生成10以内的不重复随机数,为什么会出现重复的,各位大神,我的过程哪里错了?
...全文
289 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_42349845 2018-05-31
  • 打赏
  • 举报
回复
不好意思了,新人,第一次发帖,不熟悉
threenewbee 2018-05-31
  • 打赏
  • 举报
回复
引用 3 楼 weixin_42349845 的回复:
不好意思,我找到我的哪错了,但是不能删除帖子,我页面没刷新没看到你的回复,我以为还没人回复,我就结了,不好意思,我关注您了,您说吧怎么补偿您
不是故意的没事。
weixin_42349845 2018-05-31
  • 打赏
  • 举报
回复
不好意思,我找到我的哪错了,但是不能删除帖子,我页面没刷新没看到你的回复,我以为还没人回复,我就结了,不好意思,我关注您了,您说吧怎么补偿您
threenewbee 2018-05-30
  • 打赏
  • 举报
回复
好心给你写了代码,为什么无满意答案结帖?请lz给个解释。
threenewbee 2018-05-30
  • 打赏
  • 举报
回复
Dim a() As Integer = IEnumerable.Range(0, 10).OrderBy(Function(x) Guid.NewGuid()).ToArray() RichTextBox1.Text = String.Join(" ", a.Select(Function(x) x.ToString()))

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧