以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何随机生成不重复的4个1~4的整数放在集合/数组里? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=35087) |
-- 作者:comnets -- 发布时间:2013/6/24 7:48:00 -- 如何随机生成不重复的4个1~4的整数放在集合/数组里? 如何随机生成不重复的1~4的4个的整数放在集合/数组里? |
-- 作者:lihe60 -- 发布时间:2013/6/24 7:56:00 -- 以下是引用comnets在2013-6-24 7:48:00的发言:
如何随机生成不重复的1~4的4个的整数放在集合/数组里? 直接输入1、2、3、4就行了。 |
-- 作者:lihe60 -- 发布时间:2013/6/24 7:56:00 -- 就不用随机了。 |
-- 作者:comnets -- 发布时间:2013/6/24 8:10:00 -- 晕啊 要的就是随机顺序啊 直接1234放进去我干嘛还提问啊 |
-- 作者:狐狸爸爸 -- 发布时间:2013/6/24 8:25:00 -- 生成随机数:
http://www.foxtable.com/help/topics/0349.htm
|
-- 作者:yan2006l -- 发布时间:2013/6/24 12:42:00 -- 设一个无限的循环,用rank生成1234随机数,循环里面搞个代码: 每次生成都用集合的contains属性判断一下这个随机数,如果true就continue for ,否则集合就add这个随机数。里面再加一个判断集合的count属性,等于4就exit for |
-- 作者:comnets -- 发布时间:2013/6/24 14:11:00 -- Dim Values As New List(Of Integer) Do Dim b As Integer = Rand.Next(1,4) If values.Contains(b)= False Then values.Add(b) End If If values.count = 4 Then Exit Do End If Loop 这样吗?在另一个帖子里找到狐爸的代码改了一下。 这样好像是进入死循环了 运行以后没反应退不出来。。。。 帮我看一下是怎么回事好吗?
|
-- 作者:狐狸爸爸 -- 发布时间:2013/6/24 14:59:00 -- Dim Values As New List(Of Integer) Do Dim b As Integer = Rand.Next(0,4) If values.Contains(b)= False Then values.Add(b) End If If values.count = 4 Then Exit Do End If Loop |
-- 作者:comnets -- 发布时间:2013/6/24 15:59:00 -- Dim b As Integer = Rand.Next(0,4) 为什么这行0,4改成1,4就会进入死循环? Dim b As Integer = Rand.Next(0,4) 改成0,3也会进入死循环。
[此贴子已经被作者于2013-6-24 16:00:58编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2013/6/24 16:06:00 -- 1,4 0,3
都只有三个随机数,下面的条件永远不会成立: If values.count = 4 Then
你在命令窗口反复执行:
Output.show(Rand.Next(1,4))
就知道了 |