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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© smhjx2006 中级黑马   /  2013-6-6 08:51  /  1276 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
*以前买了一张双色球的彩票,看到了上面的数字,好像可以用程序实现!
*就用java实现了一下,以后买双球就可以自己机打了!
*红球:1~~~33:取出6个,不能重复,按从小到大的顺序输出
*蓝球:1~~~16:取出1个。放在红球后面输出
*/
import java.util.*;
class DoubleColorBall
{
       public static void main(String[] args)
       {
              System.out.println(create());
       }
       public static String create()
       {
              String[] red = new String[33];
              //System.out.println(redPoll[1]);//null
              for(int i=0; i<red.length;i++)
              {
                     char[] ch = {'0','0'};//定义字符数组,初始化位00
                     String s = Integer.toString(i+1);//{"1"...."33"}
                     char[] num = s.toCharArray();//将{"1"...."33"}变成对应的{'1'....'33'}
                     System.arraycopy(num,0,ch,ch.length-num.length,num.length);//通过数组赋值的方式完成1变成01,2变成02
                     String ball = new String(ch);
                     red[i] = ball;
              }
              String[] blue = "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16".split(",");
              boolean[] used = new boolean[red.length];//给每个红球定义一个标记,当该球被去除时,就将对应标记设置成true(表示已经使用了)
              Random r = new Random();
              String[] all = new String[7];
              for(int i=0;i<6;i++)
              {
                     int idx;
                     do
                     {
                            idx = r.nextInt(red.length);//0~~32
                     }
                     while (used[idx]);//如果使用了,继续找下一个
                     used[idx] = true;//标记使用了
                     all[i] = red[idx];//取出一个未使用的红球
              }
              all[all.length-1] = "99";//因为需要先将获得的红球排序,所以为了将最后一个位置保留给蓝球,所以先用99占位,这样即使排序最后一位仍然是99
              Arrays.sort(all);
              all[all.length-1] = blue[r.nextInt(blue.length)];//用获得的蓝球将99覆盖
              return Arrays.toString(all);
       }
}

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 神马都是浮云

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马