当前位置:编程学习 > C#/ASP.NET >>

VB.NET 打乱自串符

textbox1.text ="111122220011100011122222"

textbox2.text ="textbox2.text 打乱的结果" 条件是排列每个数字排在2到4个之间随机
比喻说  11122220111122211220  --------------------编程问答-------------------- 我反复阅读了1分钟。没看懂你的意思 

条件是排列每个数字排在2到4个之间随机

排列每个数字排在2到4个之间随机
“排列每个数字”这里是不是要个逗号?还是说这是个名词?
如果加一个标点符号貌似可以读通!!!我太人才了。按文言文方式居然看懂了!!

条件是:排列每个数字,排在2到4个之间,随机。

楼下的请崇拜我把。
--------------------编程问答-------------------- 不过还是没看懂。什么叫排在2~4之间?你的例子和你的结果不同的有很多地方。算了。不猜了。看不懂。 --------------------编程问答-------------------- 还是没看出规律来看啊。
是不是取出不重复的数字,即012,
然后随机生成一个字符串,每次取012中的一个,随机重复2-4次? --------------------编程问答-------------------- ......... 我的意思是比喻说textbox1.text "10个1  10个2  5个3 "
我想在textbox2.text2= 10个1 10个2 5个3 但是要错乱点 同时不能超过4个1  2个到4个之间.也就是
--------------------编程问答--------------------

        Dim str As String = "1111222200111000111220222"
        Dim al As New ArrayList
        For Each c As Char In str
            al.Add(c)
        Next
        '排序
        al.Sort()

        Dim j As Integer = al.Count \ 3

        '分别从头 中间 尾 取一个字符
        Dim alnew As New ArrayList
        For i As Integer = 0 To j - 1
            alnew.Add(al(i))
            alnew.Add(al(i + 8))
            alnew.Add(al(i + 8 + 8))
        Next

        '如果不能被三整除 则要加上最后一个字符
        If al.Count Mod 3 <> 0 Then
            alnew.Add(al(al.Count - 1))
        End If

        ‘只想到这个笨办法 不知道别人有什么好办法
--------------------编程问答-------------------- 看一会还是没能完全理解LZ的意思  只知道,重新排序

规则还是不清  头晕 --------------------编程问答-------------------- 规则排序相同的数字(1,0,2)在2个和4个之间. --------------------编程问答-------------------- 还是没看懂,
0,1,2,排列组合,每个元素出现的次数为2~4次,这个意思?但你例子中,给出了20个字符,3*4最多12个.看来还是没明白你的意思.
补充:.NET技术 ,  VB.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,