问题描述
怎样求一个固定4位随机数(字母+数字),且第一位不能为数字0,字母I和O不能在随机数中出现,不能连续两位都出现数字0.应该怎么做?
解决方案
解决方案二:
首先构造一个字符串seed,排除了I、O等然后在字符串中随机取,取出来是0的话判断上一个是否也是0
解决方案三:
不好意思,我看得不是很明白!!是否能说详细点,或者贴段代码上来看看!!麻烦啦!!
解决方案四:
我一会给你个代码,很容易的.
解决方案五:
privatestringRandomStr4(){Randomr=newRandom();char[]c=newchar[4];stringreturnString="";for(inti=0;i<4;){intj=r.Next(48,90);if(j>57&&j<65)continue;if(j=='O'||j=='I')continue;if(i==0&&j=='0')continue;if(j==0&&c[i-1]=='0')continue;c[i]=(char)j;returnString+=c[i].ToString();i++;}returnreturnString;}
调用:for(inti=0;i<10;i++)MessageBox.Show(RandomStr4());
解决方案六:
if(j==0&&c[i-1]=='0')continue;修改为if(j=='0'&&c[i-1]=='0')continue;
解决方案七:
看我写的这个能不不帮到你!FunctionrndN(ByValNAsInteger)AsStringDimmystrAsString="0123456789ABCDENGHJKLMNPQRSTUVWXYZ"Dimreturn_strAsString=""DimRNDSTRAsString=""DimBAKSTRAsString="0"DimiAsIntegerFori=1ToNDoRNDSTR=mystr.Chars(Math.Round(Rnd()*(mystr.Length-1)))LoopUntilRNDSTR<>"0"OrBAKSTR<>"0"BAKSTR=RNDSTRreturn_str+=RNDSTRNextReturnreturn_strEndFunction
调用:rndN(4)
解决方案八:
试试这个:VBCODEPublicClassForm1PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickMsgBox(RandStr)EndSubPrivateFunctionRandStr()AsStringDimReturnStrAsString=String.EmptyForiAsInteger=0To3ReturnStr+=_rS(i)NextReturnReturnStrEndFunctionDimLastAsInteger=0DimrAsNewRandomPrivateFunction_rS(ByValiAsInteger)AsStringDimbAsBooleanDimsAsIntegerDo's=Rnd()*42+48s=r.Next(48,90)If(i=0Ands=48)Ors=73Ors=79Or(s=48AndLast=48)Or(s<65Ands>57)Thenb=FalseElseb=TrueLast=sEndIfLoopWhileb=FalseReturnChr(s)EndFunctionEndClass