双色球出奖器

偶尔买彩票,由于数字太多,从而选择也太多,买了几次,自己选的数字一个没中,用机器随机选嘛,也中了几次,但都是小钱。身边人都说,买彩票要自己选,机选绝对有作假的嫌疑,不会让我中大奖的。呵呵!我的目标可是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 双色球提醒系统是一个通过编程技术利用 Java 编写的自动化工具,用于监控双色球彩票的开结果,并在中号码公布时自动发送通知给用户。这个系统可以帮助那些热衷于购买双色球彩票的人及时了解是否中。 ### 开发步骤 #### 1. 确定需求和功能 首先需要明确需求,例如,系统需要具备从哪里获取开数据、如何判断中号码、以及如何通知用户等关键功能。可以选择从官方网站或其他可靠的彩票信息平台获取开结果,通过电子邮件、短信或应用程序内提示等多种方式进行通知。 #### 2. 设计架构 设计系统的整体结构和模块划分,比如可以分为数据抓取模块、数据库存储模块、中逻辑判断模块和通知模块。每个模块都有特定的功能,互相协作完成整个任务。 #### 3. 选择开发环境和工具 选择合适的 Java 开发环境(如 Eclipse 或 IntelliJ IDEA),并根据项目需要引入必要的库,如用于网络请求的 Apache HttpClient 或 OkHttp,用于邮件发送的 JavaMail API 等。 #### 4. 实现核心功能 实现获取双色球结果的部分,通常需要定期访问官方站点的 API 或网页内容(如果站点提供公开数据)。然后解析这些数据,提取号码。 接下来,将中号码与用户的投注记录进行比较,以确定是否有人中。最后,根据设置的通知方式,如邮件、短信或应用内的推送通知,向用户发通知。 #### 5. 测试与优化 进行全面测试,包括单元测试、集成测试和压力测试,确保系统稳定可靠。根据测试结果对系统进行必要的调整和优化,提高性能和用户体验。 #### 6. 部署与维护 部署系统到目标服务上,确保能正常运行。同时制定维护计划,定期检查系统运行情况,更新软件依赖,处理可能现的新问题。 ### 相关问题: 1. **如何有效防止数据抓取时的法律风险?** - 在抓取数据前务必确认目标网站的数据抓取政策,确保合规。可能需要获取授权或遵守爬虫协议。 2. **如何设计更人性化的中通知机制?** - 可以考虑增加个性化通知选项,让用户自定义接收通知的时间、频率和渠道,同时提供详细的中详情报告。 3. **如何提升系统的实时性和可靠性?** - 优化数据抓取和分析流程,采用异步处理和缓存策略减少延迟。同时,增强错误处理机制和备份方案,保证在异常情况下仍能正常运作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值