双色球随机号生成程序
2009-07-20 18:55
567 查看
最近买了2次彩票,都是让投注站给我随机一张。可惜的是第2次随机的号码一个都没对上。自己搞个随机的程序玩吧,以后就照这个程序,一次随机一个号码,来买。
import java.util.Random; /** * 用于生成双色球彩票号码的程序 * * @author tommy * */ public class LotteryGuess { // 喜欢的蓝色球号码,如果这里不指定为"-1"以外的其它值,将会随机为蓝球赋值 private static int loveRedNumber = 6; // 讨厌的红色球号码,这里的红色球号码将不会出现在所选的号码中 private static int[] hateRedNumbers = new int[] {}; // 想要得到的号码组数,默认就选一组号码,咱穷 private static int total = 1; public static void main(String[] args) { for (int i = 0; i < total; i++) { int blueNumber = getBlueNumber(); int[] red = getRedNumbers(); System.out.println(red[0] + " " + red[1] + " " + red[2] + " " + red[3] + " " + red[4] + " " + red[5] + " + " + blueNumber); } } /** * 生成6个红色球号码 * * @return 6个红色球号码 */ public static int[] getRedNumbers() { int[] redNumber = new int[] { -1, -1, -1, -1, -1, -1 }; int redIndex = 0; while (true) { int number = getRandomNumber(33); // System.out.println(number); // 如果红球在不喜欢的列表中,则放弃 int hateFlag = -1; for (int j = 0; j < hateRedNumbers.length; j++) { if (number == hateRedNumbers[j]) { hateFlag = 1; } } if (hateFlag == 1) { continue; } // 判断该红球是否已经被选中 int i; for (i = 0; i < 6; i++) { if (redNumber[i] == number) { break; } } // 红球未被选过,放入选择中 if (i == 6) { redNumber[redIndex] = number; redIndex++; } // 是否选择了6个红球了 if (redIndex == 6) { break; } } redNumber = sort(redNumber); return redNumber; } /** * 排序 * @param input * @return */ public static int[] sort(int[] input) { int temp = -1; for (int i = 0; i < input.length; i++) { for (int j = i; j < input.length; j++) { if (input[j] < input[i]) { temp = input[i]; input[i] = input[j]; input[j] = temp; } } } return input; } /** * 生成蓝色球号码 原则:如果指定了蓝色球,返回指定的号码;否则返回一个随机的号码 * * @return 蓝色球号码 */ public static int getBlueNumber() { if (loveRedNumber == -1) { // 随机生成一个蓝色球号码 return getRandomNumber(16); } return loveRedNumber; } /** * 生成一个1-maxN之间的随机数,包括1和maxN * * @return 1-maxN之间的随机数 */ public static int getRandomNumber(int maxN) { Random r = new Random(); int result = r.nextInt(maxN) + 1; return result; } }
相关文章推荐
- Java控制台小程序:随机生成双色球
- 关于生成更加随机的数的程序
- 解决发布网站生成随机dll的影响程序更新的问题(合并多个dll)
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次
- 随机生成小学四则运算练习题小程序
- 随机生成一组双色球数
- (学习java)写一个完整的程序,实现随机生成20个元素的链表,快速查找中间结点的值并显示
- python生成双色球程序
- 程序:随机生成30道四则运算题
- 模拟双色球彩票开奖结果:随机生成一注双色球彩票,判断其是否中奖,奖金为多少。
- 帮同学写的一个简单地随机数学题生成程序,非常简单,适合练手
- 生成随机测试数据的文件的程序
- python 实现一个双色球生成程序
- 编写程序,生成包含1000个0到100之间的随机整数,并统计每个元素的出现次数
- 利用Java单例模式,模拟生成双色球随机号码
- 双色球随机生成
- 一道遇到的面试题: 怎么判断一个随机数生成程序是真随机
- 18.9 随机生成一些数字并传入某个插入方法。 编写一个程序,高效地插入过的元素的维护中位数。
- Handler一般处理程序的应用--随机图片生成
- Python实现一个双色球生成程序