先说一个写这篇博客的缘由。其一,看到有园友写了一个关于彩票的博文,然后,我就想到某年月日,我自己也是写过一个非常简单的由自己设想需求并逐步实现的一个彩票小程序的,并给我带来了彼时算是无限的乐趣。我是不介意做第二个说女人像玫瑰一样漂亮的笔者的。其二,自己的某一个脑貌似是支持自己每个月写两篇博客的这个计划的,只是由于光阴似箭,时光荏苒,逝者如斯夫,这个月貌似剩不了几多须臾了,自己却一篇都还未写。有人曾经曰过:时间就像乳沟,只要是挤,总是有的。于是,我想其实乳沟想必也是分深和浅的,再于是乎,我想,要不先挤一个比较浅的乳沟,这样就不用费太多的时间了。于是,有了这篇文章。
大概需求是这个样子,写一个程序,让他能产生一注随机双色球的号码。双色球呢,就很简单了,就是总共有7个数字,前6个数字是1到33之间随机产生的,不能重复,第7个数字是1到16之间的一个数字。也就是写就是写随机数,做点判断什么的。 先看一下当年被笔者得瑟的发到微博的这个程序的图吧: 当时是用int数组没有用集合。没有做到开始的6个数字从小到大排列。 看一个现在写的吧:1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Lottery 8 { 9 class Program 10 { 11 static void Main( string[] args) 12 { 13 List< int> list = new List< int>(); 14 Random r = new Random(); 15 for ( int i = 0; i < 6; i++) 16 { 17 int red = r.Next(1, 34); 18 if (list.Contains(red)) 19 { 20 i--; 21 } 22 else 23 { 24 list.Add(red); 25 } 26 } 27 list.Sort(); 28 string redNum = ""; 29 for ( int i = 0; i < list.Count; i++) 30 { 31 redNum += list[i] + " "; 32 } 33 int blueNum = r.Next(1, 17); 34 Console.WriteLine( " {0}{1}" ,redNum,blueNum); 35 Console.WriteLine("现在时间是:"+DateTime.Now.ToString()); 36 Console.ReadKey(); 37 } 38 } 39 }
代码相信各种不用解释。看一下我现在运行的情况吧:
如果,你想拥有刮刮奖的看单个数字中没中的那种感觉,您只需要在在产生随机数的那个位置设置一个断点,然后F5运行,然后F11看一下,看一下那个产生随机数是多少,也许你就拥有那个感觉了,也许。笔者是不会跟你说,笔者就曾经写一串数字,然后设断点,运行查看,寻找了一个那种期盼与失望的感觉。
此程序之需求,由小杜根据现实中的情况而想到,代码亦是小杜根据自己想到之需求而完成,如有雷同,不胜荣幸!
本篇完结,这个小程序确实给想当年的我带来过比较大的乐趣,这里分享的不是技术,而是一种心情,也是以前用到集合(还是数组来着,忘了),然后有朋友买彩票,然后不知道怎么选择号码,笔者就想到了是不是自己可以用数组或者集合什么的写一个程序,让它给我们随机产生一串号码,那样就不用自己纠结的去选择了,只要运行一个自己的程序,程序让我们选择什么我们就选择什么。即使不中,至少是自己写的程序运行出来的结果。尽管这个程序较小,可能写的时候也会遇到一些新的知识供我们去做研究,比如Random的位置,会涉及到种子什么的,目测是很深奥的样子,现在已是忘却了。或者是当你不想用集合的Sort()方法的时候自己也可以写一个冒泡排序什么的。后来朋友是用我写的程序运行出来了一个结果,后来买了没中,我也买了一份最开始那幅图的那个号码也没中,不过是开心的。当朋友决定买5份随机的时候,我果断加上while(true),不至于每选择一注都来运行一次这个程序,有了while(true),只要按回车就好了。后来,我又想要不要把1变01,2变02这样,自己是没这样做的,不过有兴趣的朋友可以研究一下的。大抵就写到这里吧,程序虽然小,但是过程却是开心愉快的。比如园友您,如果您在上课,您是否会想到要不要写一个随机的点名系统。如果您会Mono会WebApi,有没有想过或者试着写过一个局域网的对话小程序。最后,我只想无耻的说,如果,倘若,您拿了我的代码,在您IDE上运行了一串结果,并且按照这个结果买了,然后中了(尽管它最贵奖的概率是33*32*31*30*29*28*16)请给我发消息,多多少少分我点不是。
听说点右下角的“推荐”的会中一千万。并不很真诚祝您中一千万!