黑马程序员技术交流社区

标题: 自己编的一个双色球程序,吃饭后买了一注,竟然中奖了... [打印本页]

作者: java冬冬    时间: 2013-5-11 04:18
标题: 自己编的一个双色球程序,吃饭后买了一注,竟然中奖了...
本帖最后由 java冬冬 于 2013-5-11 04:20 编辑

  1. <P>/**

  2. 相信很多同学也都买过彩票,我偶尔路过彩票站也会买上一注,不求中奖(当然中了更好啦,哈哈),只求心里有个盼望</P>
  3. <P> 双色球自动生成7个号码,6个篮球1个红球,蓝红球分别生成,且注意篮球号数不能重复。
  4. */
  5. import java.util.Arrays;
  6. import java.util.Random;
  7. import java.util.Scanner;</P>
  8. <P>public class Lottery
  9. {
  10. /**
  11.    这个程序实现了简单的双色球自动摇号
  12.   @author java冬冬
  13. */</P>
  14. <P> public static int[] generateRandomNumber(int begin,int end,int size)
  15. {
  16.   //加入逻辑判断确保begin<end,并且size不能大于表示该表示范围
  17.   if (begin>=end||(end-begin)<size)
  18.   {
  19.    return null;
  20.   }
  21.   int[] seed=new int[end-begin]; //种子可以随机生成,但不可重复
  22.   for (int i=begin;i<end ;i++ )
  23.   {
  24.    seed[i-begin]=i;
  25.   }
  26.   int[] ranArr=new int[size];  //存放蓝色球、
  27.   Random ran=new Random();
  28.   for (int i=0;i<size ;i++ )
  29.   {
  30.    int j=ran.nextInt(seed.length-i);//得到一个位置,范围依次递减,避免与尾部重复
  31.    ranArr[i]=seed[j];    //得到那个位置的数值
  32.    seed[j]=seed[seed.length-1-i]; //将最后一个未用的数字放在这里
  33.   }
  34.   return ranArr;     //返回结果
  35. }
  36. /**
  37.   把蓝红球分开生成,红球只有一个,直接生成即可,篮球6个不重复的号可以循环输出
  38. */</P>
  39. <P> public static void main(String[] args)
  40. {
  41.   int[] ranArr={};    //存放蓝色球
  42.   int red;
  43.   Scanner input=new Scanner(System.in);
  44.   Random ran=new Random();  //创建随机数对象</P>
  45. <P>  System.out.println("欢迎使用双色球自动摇号系统");
  46.   System.out.print("确实摇号(y/n)?");
  47.   String go;     //继续摇号标志
  48.   go=input.next();
  49.   while(go.equalsIgnoreCase("y"))  //输入“y”继续摇号
  50.   {
  51.    ranArr=generateRandomNumber(1,33,6); //随机生成6个不重复的蓝色球
  52.    red=ran.nextInt(16);     //生成红色球
  53.    System.out.println(Arrays.toString(ranArr)+" "+red);
  54.    System.out.print("继续摇号(y/n)?");
  55.    go=input.next();      //是否继续摇号
  56.   }
  57.   System.out.println("谢谢使用!");
  58. }
  59. }</P>
  60. <P> </P>
  61. <P> </P>
复制代码
执行结果:


Lottery.zip (1.19 KB, 下载次数: 75)


作者: 张旺达    时间: 2013-5-11 08:30
    哈哈 这都可以~
作者: 李德全    时间: 2013-5-11 08:36
真的假的 ?
作者: 张勇1993    时间: 2013-5-11 10:03
你太有才了
作者: java冬冬    时间: 2013-5-11 13:03
张旺达 发表于 2013-5-11 08:30
哈哈 这都可以~

瞎玩瞎玩:#
作者: java冬冬    时间: 2013-5-11 13:03
李德全 发表于 2013-5-11 08:36
真的假的 ?

:handshake
作者: java冬冬    时间: 2013-5-11 13:04
张勇1993 发表于 2013-5-11 10:03
你太有才了

握爪:handshake
作者: up.yfei    时间: 2013-5-11 13:13
应该在把最后的结果排序一下,这样才更像,哈哈

楼主牛X,楼主V5
作者: 楞个里格朗    时间: 2013-5-11 14:27
天道酬勤
作者: Sword    时间: 2013-5-13 11:19
真够幸运的,祝贺祝贺,代码写的不错{:soso_e183:}
作者: java冬冬    时间: 2013-5-13 12:35
Sword 发表于 2013-5-13 11:19
真够幸运的,祝贺祝贺,代码写的不错

斑竹威武,我现在还很菜,不知什么时候能写个大一点的程序呦{:soso_e152:}
作者: itpower    时间: 2014-1-28 13:24
是6红1蓝吧,一看LZ就木有买过{:soso_e128:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2