for(j=0;j<=5;j++){     
  var myRand=parseInt((10-0+1)*Math.random(Rnd++)+0);
  My_array[j]=my_array[myRand];
  Response.Write(My_array[j]);                
}
产生的6个随机数有重复,怎么样让随即数不重复??

解决方案 »

  1.   

    让6个数落在不同区间必定是不重复的 Random rnd = new Random();            int r = 0;
                int i = 0;
                while (r < 6)
                {
                    i += 20;
                    r++;
                    Console.WriteLine(rnd.Next(i, i + 30));
                }
      

  2.   

    让6个数落在不同区间必定是不重复的Random rnd = new Random();int r = 0;
    int i = 0;
    while (r < 6)
    {
    i += 20;
    r++;
    Console.WriteLine(rnd.Next(i, i + 19)); //应该要比 20 小
    }
      

  3.   

    搂上的说的是RANDOM("种");
    不同的种产生的随机数不重复吗?
    for(i=0;i<=10;i++){
    var myRand=parseInt((10-0+1)*Math.random(i)+0);
    }
     这样产生的11个数有重复吗?
      

  4.   

    for(j=0;j<=5;j++){     
      var myRand=parseInt((10-0+1)*Math.random(Rnd++)+0);
      My_array[j]=my_array[myRand];
      Response.Write(My_array[j]);  System.Threading.Thread.Sleep(20);    
                
    }
      

  5.   

    产生62位内任意数字大小写字母的随机数 
    private static char[] constant=
      {
       '0','1','2','3','4','5','6','7','8','9',
       'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
       'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
      };
      public static string GenerateRandom(int Length)
      {   
       System.Text.StringBuilder newRandom = new System.Text.StringBuilder(62);
       Random rd= new Random();
       for(int i=0;i<Length;i++)
       {
        newRandom.Append(constant[rd.Next(62)]);
       }
       return newRandom.ToString();
      }