A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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)

评分

参与人数 1技术分 +1 收起 理由
Sword + 1 赞一个!

查看全部评分

11 个回复

正序浏览
是6红1蓝吧,一看LZ就木有买过{:soso_e128:}
回复 使用道具 举报
Sword 发表于 2013-5-13 11:19
真够幸运的,祝贺祝贺,代码写的不错

斑竹威武,我现在还很菜,不知什么时候能写个大一点的程序呦{:soso_e152:}
回复 使用道具 举报
Sword 金牌黑马 2013-5-13 11:19:57
10#
真够幸运的,祝贺祝贺,代码写的不错{:soso_e183:}
回复 使用道具 举报
天道酬勤
回复 使用道具 举报
应该在把最后的结果排序一下,这样才更像,哈哈

楼主牛X,楼主V5
回复 使用道具 举报
张勇1993 发表于 2013-5-11 10:03
你太有才了

握爪:handshake
回复 使用道具 举报
李德全 发表于 2013-5-11 08:36
真的假的 ?

:handshake
回复 使用道具 举报
张旺达 发表于 2013-5-11 08:30
哈哈 这都可以~

瞎玩瞎玩:#
回复 使用道具 举报
你太有才了
回复 使用道具 举报
真的假的 ?
回复 使用道具 举报
    哈哈 这都可以~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马