偶尔买彩票,由于数字太多,从而选择也太多,买了几次,自己选的数字一个没中,用机器随机选嘛,也中了几次,但都是小钱。身边人都说,买彩票要自己选,机选绝对有作假的嫌疑,不会让我中大奖的。呵呵!我的目标可是1000W,所以,决定自己来实行机选。今天闲着没事,写了个彩票随即抽奖程序,以后,开始了我的自己给自己随机选号之旅,先把代码贴下,大家也可以用哦,放心,开源的,呵呵!
package com.lottery;
import java.util.ArrayList;
import java.util.List;
/**
* @description 彩票中奖程序,中奖率达90%
* @author t j a
*
*/
public class LotteryGenerator {
/**
* 包含所有红球的数组
*/
private static final int[] ALL_RED_NUMBER = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};
/**
* 包含所有蓝球的数组
*/
private static final int[] ALL_BLUE_NUMBER = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
/**
* 数字之间分隔符
*/
private static final String SPLIT = " ";
/**
* 数组池(存放已抽出来的数字)
*/
private static List<Integer> numPool = new ArrayList<Integer>();
/**
* 生成所有的中奖号码
*/
public static void generateWinLotteryNum() {
System.out.println("6个红球号码分别是:"+printStrArr(generateNumber(6,ALL_RED_NUMBER)));
System.out.println("1个蓝球号码分别是:"+generateNumber(1,ALL_BLUE_NUMBER));
}
/**
* @description 生成指定长度(length)的随即中奖号码
* @param length
* @return
*/
private static String generateNumber(int length,int[] numberArr) {
if(length<=0) length = 1;
StringBuffer sb = new StringBuffer();
for(int i = 0;i<length;i++) {
int pos = (int)(Math.random()*numberArr.length);
if(isInNumPool(numberArr[pos])) {
i--;
continue;
}
numPool.add(numberArr[pos]);
sb.append(numberArr[pos]);
sb.append(SPLIT);
}
numPool.clear(); //清空数字池
return sb.toString();
}
/**
* @description 判断生成的数字是否已经在数字池里了(判断数字是否已经存在了)
* @param number
* @return
*/
private static boolean isInNumPool(int number) {
if(numPool.contains(number)) {
return true;
} else {
return false;
}
}
/**
* @description 对纯数字字符串进行排序(选择排序)
* @param strArr 字符串数字,以" "作为分割符
* @return
*/
private static String[] sort(String _sortStr) {
String[] strArr = _sortStr.split(SPLIT);
String tempStr;
for(int i = 0;i<strArr.length;i++) {
String minStr = strArr[i];
for(int j = i+1;j<strArr.length;j++) {
if(Integer.parseInt(strArr[j])<Integer.parseInt(minStr)) {
tempStr = minStr;
minStr = strArr[j];
strArr[j] = tempStr;
}
strArr[i] = minStr;
}
}
return strArr;
}
/**
* @description 输出排了序的字符串
* @param _sortStr
* @return
*/
private static String printStrArr(String _sortStr) {
String[] strArr = sort(_sortStr);
StringBuffer sb = new StringBuffer();
for(String str:strArr){
sb.append(str);
sb.append(SPLIT);
}
return sb.toString();
}
public static void main(String[] args) {
LotteryGenerator.generateWinLotteryNum();
System.out.println("哎呀,去买吧,不中砸死我!");
}
}
分享到:
相关推荐
JAVA双色球中奖代码
历年双色球中奖号码从2003年到2023年 Excel数据 mysql数据库数据文件
此文件为python源代码文件,严格根据福彩双色球规则,包括选号、随机开奖、判断中奖三个环节,并把中奖号码用特殊颜色高亮显示(适用于pycharm编辑器或Linux系统),并且提示用户中了几等奖。选号过程对于所选号码的...
双色球通用号码更新器 注意事项: 1.绿色版无需安装。 2.运行前请修改app.config文件的数据库路径。路径中不要包含中文!!! 3.双击“LotteryCaptureTool.exe”运行程序。 详细:...
C#写的双色球摇色器,中奖的别忘了说声谢谢啊!有啥问题私信我,资源里有联系方式,玩得愉快!
双色球 对应信息数据库版本 包括2003002期到2021117期,共2644条数据 其中包括开奖时间 期数 号码 红1 红2 红3 红4 红5 红6 蓝 开机号 和值 和值特征 奇偶比 大小比 奇偶形态 跨度
红蓝双色球随机中奖案例
QT写的双色球随机抽选 适合qt初学者。可能中奖哦。qt
文件为txt格式,方便双色球爱好者编程使用
大学程序实例设计课程的小作业——双色球彩票模拟中奖系统。很精心的在写,送给一切需要的新手们(一起成长)(应该是有能借鉴的内容)(有追加注释)。资源分算是对我的一丢丢补偿吧,我也想去下载别人的代码。
双色球历年中奖数据及机选源码 vs2005+access开发内有一些小算法 对数据进行统计。
可根据自己需要指定批量生成双色球,可以对数据进行导出和导入,并且对列表数据进行中奖情况描述
基于java+mysql实现双色球购买及抽奖程序...要求必须声明一个购彩人的类,用自己的姓名、学号和出生日期实例化出这位购彩人。 将所有代码和运行结果截图,数据库所有表中的内容截图,所有源代码(*iava)也要提交上传
双色球开奖,数据可自动更新,利用excel vba bianxie
jQuery双色球开奖扭蛋机抽奖代码,基于jQuery CSS3实现的鼠标点击按钮开始扭蛋机抽奖,弹出抽奖结果效果代码。
课后写一个双色球的程序,很好的例子,希望你喜欢!
1.java利用poi-3.9操作excel,一个对比双色球一等奖号码的例子。 2.其中一个excel是用来生成双色球历史中奖数据的。 3.会创建新的excel来存放双色球中奖号码。
系统随机产生6个不相同的数,注意此算法的实现
Java初学者可以学习一下,用Java实现双色球中奖模拟系统
用户可以通过输入选号来模拟购买彩票,系统会随机生成中奖号码并进行比对,最后给出中奖情况。这样的系统可以帮助用户体验购买彩票的乐趣,同时也可以通过代码实现彩票的自动选号和中奖检测。 双色球系统的实现主要...