在很多时候需要按照一定的格式生成一定数量的随机数,下面是实现方法

下面是自己写的类

public class MyRandom
 {
  private string _strin;
  private string _strout;
  private Random _rnd;

public MyRandom(string strin)
  {
   _rnd=new Random(System.Environment.TickCount);//System.Environment.TickCount表示系统启动以来的毫秒数
   _strin=strin;
  }

private string GetOneRandomNum(string strformat)
  {
   string strtemp;
   switch(strformat)
   {
    case "*":
    {
     int itmp=_rnd.Next(36);
     if(itmp<10)
      strtemp=_rnd.Next(10).ToString();
     else
      strtemp=Convert.ToChar(_rnd.Next(26)+'A').ToString();
     break;
    }
    case "#":
    {
     strtemp=_rnd.Next(10).ToString();
     break;
    }
    case "$":
    {
     strtemp=Convert.ToChar(_rnd.Next(26)+'A').ToString();
     break;
    }
    default:
    {
     strtemp=strformat;
     break;
    }
   }
   return strtemp;
  }

public string GetRandomNum()
  {
   _strout=String.Empty;
   for(int i=0;i<_strin.Length;i++)
   {
    _strout+=this.GetOneRandomNum(_strin[i].ToString());
   }
   return _strout;
  }
 }

下面是这个类在控制台下的使用
Console.WriteLine("全是数字的随机数");
   MyRandom rnd1=new MyRandom("####-####-####-####");
   for(int i=0;i<10;i++)Console.WriteLine(rnd1.GetRandomNum());
   Console.WriteLine("全是大写字母的随机数");
   MyRandom rnd2=new MyRandom("$$$$-$$$$-$$$$-$$$$");
   for(int i=0;i<10;i++)Console.WriteLine(rnd2.GetRandomNum());
   Console.WriteLine("大写字母和数字混合随机数");
   MyRandom rnd3=new MyRandom("****-****-****-****");
   for(int i=0;i<10;i++)Console.WriteLine(rnd3.GetRandomNum());
   Console.WriteLine("前4位为1234后面分别是4位数字4位字母4位混合的随机数,没有分隔符");
   MyRandom rnd4=new MyRandom("1234####$$$$****");
   for(int i=0;i<10;i++)Console.WriteLine(rnd4.GetRandomNum());
   Console.ReadLine();

输出的结果是

全是数字的随机数
9162-4581-4990-0207
1783-0140-3387-3646
6080-4696-2719-0319
2333-1887-7581-7088
5239-3034-7103-0400
1859-3158-1128-8891
8337-9252-0859-7572
4798-5843-7571-7459
1846-0319-3294-5506
4941-8060-9004-4445
全是大写字母的随机数
XEQF-MOWD-MYYA-AFAS
CTVI-BEKC-JIVU-HRLR
RBXA-KSYR-HSEX-AHEX
GIII-DVWS-TNVD-TCVV
NHJY-IAHK-UDBI-AMBB
EXNZ-JCOV-EEGW-WVYE
XJKT-YFPG-AXOZ-UOSG
LTZW-OVLK-SNUE-TLOZ
FWLQ-CIDY-IHZM-OOBQ
LZKC-VCQB-YAAL-LKMP
大写字母和数字混合随机数
WQO1-WN57-R516-PROW
4SPU-DSKE-L5C1-DCJX
VO52-MAK5-3HU0-INQF
L6B3-YG0J-D5DS-K7NJ
TJ6Z-OM8I-PUFP-NPJW
GJA2-C80V-WZNL-7RZ9
AZMY-J4WX-00T1-DBNP
325A-WNIE-OPBB-7E4W
QQDN-AR5C-FAYY-Z4IV
SRWF-C9TN-LXIV-MUHF
前4位为1234后面分别是4位数字4位字母4位混合的随机数,没有分隔符
12342886ROADWN57
12348625EDCRPROW
12341446RPSUDSKE


(原创)按照一定的格式生成一定数量的随机数的例子相关推荐

  1. 生成一定数量的随机数,并且不重复的方法

    2019独角兽企业重金招聘Python工程师标准>>> /*** +--------------------------------------------------------- ...

  2. 从总数中生成一定数量的随机数

    最近需要一个入学选号的程序,通过Python可以快速的实现.xueWeiShu 表示学位数,baoMingShu 表示报名的总人数. import randomxueWeiShu = 100 baoM ...

  3. 3D物体分类---ModelNet .OFF格式生成多视角图像(Blender方法之第二步)

    3D物体分类---ModelNet .OFF格式生成多视角图像(Blender方法之第二步) 强烈建议使用Blender方法!!! 说明 2 python调用Blender生成多视角图像 2.1 Bl ...

  4. python随机生成车牌_Python实现随机生成任意数量车牌号

    之前做课设的时候舍友遇到了需要生成500w量级车牌号的问题,于是我便写了一个随机生成车牌号的程序,希望各位采纳. 注:Python实现 import random def chepaihao(len= ...

  5. 计算机二级目录设置,word2设置标题格式,生成目录,奇偶页设置等等,适用考计算机二级办公软件,也适用于毕业论文格式设置...

    word2设置标题格式,生成目录,奇偶页设置等等,适用考计算机二级办公软件,也适用于毕业论文格式设置 这是第2部分word资料 , 跟之前的第一部份word资料合为一份 第二题 2.在正文前按序插入节 ...

  6. java 9999 符号_按格式生成序号,如0001,0002...9999

    /*** * 按格式生成序号,如0001,0002...9999 * @param idx 序号号码 * @param scale 位数 * @return 按位数格式化的序号,如0019 */ pu ...

  7. 生成一定数量的不重复随机数

    /** array unique_rand( int $min, int $max, int $num )* 生成一定数量的不重复随机数* $min 和 $max: 指定随机数的范围* $num: 指 ...

  8. 3D物体分类---ModelNet .OFF格式生成多视角图像(Blender方法之第一步)

    3D物体分类---ModelNet .OFF格式生成多视角图像(Blender方法之第一步) 强烈建议使用Blender方法!!! 说明 1. ModelNet .OFF格式生成多视角图像方法(Ble ...

  9. C#生成不重复的随机数

    C#生成不重复的随机数 在做能自动生成试卷的考试系统时,常常需要随机生成一组不重复的题目,在.net Framework中提供了一个专门用来产生随机数 http://www.jbxue.com/tag ...

最新文章

  1. mysql忘记密码解决方法
  2. 用java编写打印时间_编写一个java程序,读取系统时间,然后将时间用中文输出...
  3. 非常适合小白的 Asyncio 教程
  4. SprinBoot易学难精
  5. Java0steam_Java学习 - Stream 使用
  6. 【vue2.0进阶】vue-router10分钟快速入门
  7. 【毕业答辩】毕业论文答辩有技巧!
  8. Memcache的 简介
  9. JavaScript原型、函数伪装(apply,call)、继承
  10. windows11 - 快速实现局域网内传文件
  11. Finetune时更改tokenizer词表
  12. 警惕,最新SCI/SSCI期刊14本期刊被剔除?
  13. IPS与IDS部署场景
  14. 我关注的一周技术动态 2015.8.23
  15. 为什么说汽车VIN码是汽车唯一的身份证
  16. vb.net指定范围内获取随机数
  17. linux内核是压测,从应用到内核查接口超时(中) -枕边书
  18. Java选择题(十八)
  19. 安装centos 7
  20. SpeechRecognition离线语音识别

热门文章

  1. 【JVM】JVM系列之JVM体系(一)
  2. 初识中文分词(一)MMSEG
  3. 面试题----寻找比一个N位数大的“下”一个数
  4. photoshop中把图片颜色变成透明
  5. 一句SQL实现获取自增列操作
  6. python 打印数组变量_使用Python将数组的元素导出到变量中(unpacking)
  7. MySQL like 通配符是_MySql模糊查询like通配符使用详细介绍
  8. nginx php 错误日志,PHP 错误与异常的日志记录
  9. gradient设置上下渐变_iOS 绘制渐变·实例篇
  10. keil git 编译文件_keil下的STM32程序开发部署(一)