我想做一个算概率的程序  
   
    就是传奇里面扔色子.. 扔一万次  然后把这些数按照扔出来的顺序作为算法的基数.. 
  
   我要的效果就是  我输入若干个数.  程序能显示出下个数出现1-6这些数字的比例.......
  
    我想知道如何在一万个数里面匹配任意一组数字开头的数据.. 
    比如这一万个数是125432151223154661512........15616565423323265621532      然后我在程序中输入  432   他就能显示出  下个数1的概率为12%  2的概率为0%  3的概率为70%  4的概率为....        请教各位大大们...这个问题困扰我很久了
 

解决方案 »

  1.   

    其实好好分析一下这个算法还是有门道的。1.至于扔色子嘛,基本上都是用随机算法你利用random控制好数字范围即可!
    2.因为你每扔出来的都仅仅是一个数字(假设为num),而每仍一次,你都可以把它连到一个字符串(String或StringBuffer)中,[比如String str="";] 然后每仍一次就用str=str+num;进行字符串连接,而通过循环得到了1000
    个数字都这样连接起来!
    3.定义一个含6个元素的一维整型数组int eachCnt={0,0,0,0,0,0},用以存放统计1--6的个数;先用子串432找到其在str中的下标,并将第2步得到的str进行转换(成整型),从指定的下标开始查找后续数字并进行各个数字的统计(这显然也必须用到循环,而在这一步所循环的次数便是你输入的子串的后续数字的个数),然后用eachCnt数组中各个数去除以数字总数便可得到相应的概率!!!PS:因为String的不可变性,如果真要成生1W个数的话,占用较大的资源。建议改用StringBuffer!