`
jythoner
  • 浏览: 608143 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

双色球算号器

    博客分类:
  • Java
阅读更多
我是个彩民,特别喜欢买双色球。最近看了几种算法,写了一个很简单的双色球的算号器,分享给大家,仅供娱乐,呵呵
package com.tester.luckly;

import java.util.Random;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;

public class DoubleBall {
	private Set<Integer> hs;
	private static boolean flag = true;

	public enum oddOrEven {
		Odd, Even
	}

	public enum aOrBOrC {
		A, B, C
	}

	public static void main(String[] args) {
		DoubleBall db = new DoubleBall();
		System.out
				.println("====================Red Balls============================");
		String url1 = "http://map.zhcw.com/ssq//html/h7fenqu_ascstr=20.html";
		System.out.println();
		System.err.println(url1);
		Scanner scanner1 = new Scanner(System.in);
		System.out.println("Please select:1.Input your own two numbers");
		System.out
				.println("              2.Input the range of the two numbers");
		int select = scanner1.nextInt();
		if (select == 1) {
			flag = false;
		} else {
			flag = true;
		}
		System.out.println("Please input two numbers like this: 1 2");
		scanner1.nextLine();
		String[] str = scanner1.nextLine().split(" ");
		Set<Integer> redBall = db.calcRedBall(Integer.parseInt(str[0]), Integer
				.parseInt(str[1]));

		System.out
				.println("====================Blue Ball============================");
		String url2 = "http://sports.sohu.com/s2007/0445/s252476794/";
		System.out.println();
		System.err.println(url2);
		Scanner scanner2 = new Scanner(System.in);

		System.out.println("1.Please select:" + oddOrEven.Odd + " or "
				+ oddOrEven.Even);
		String select1 = scanner2.nextLine();

		System.out.println("2.Please select:" + aOrBOrC.A + " or " + aOrBOrC.B
				+ " or " + aOrBOrC.C);
		String select2 = scanner2.nextLine();

		int blueBall = db.calcBlueBall(select1, select2);

		System.out
				.println("====================The Result============================");
		System.out.println();
		for (int i : redBall) {
			System.err.print(i + " ");
		}
		System.err.println("| " + blueBall);
		String url3 = "http://www.bwlc.net/dhtz/";
		System.err.println(url3);
	}

	public Set<Integer> calcRedBall(int begin, int end) {
		hs = new TreeSet<Integer>();

		/*
		 * 固定恒码:就是每期都必备的号码,通常为2-3个,如02,13,27。 这2-3个号码长期备选(至少50期)。
		 */
		hs.add(10);
		hs.add(27);

		/*
		 * 边缘捡“胆”:就是在边缘码“05、10、15、20、25、30”及“01、
		 * 06、11、16、21、26、31”共13个号码中巧妙地捡出胆码。之所以 把边缘码作为“胆”码的一种选取方法,是因为从历史中奖号码来看,
		 * 几乎每一期都会在具备这种特性的号码中出现2-3个。
		 */
		int[] array = { 5, 15, 20, 25, 30, 01, 06, 11, 16, 21, 26, 31 };
		for (int i = 0; i < 2; i++) {
			Random random = new Random();
			hs.add(array[random.nextInt(array.length)]);
		}

		/*
		 * 重码追邻:在上上期出号的左右选取的上期号码,这话不好理解,现举例说明:双色球2007109期开01 04 07 08 13 14;
		 * 110期开02 04 07 15 24 28;其中这期的04
		 * 07,刚好是109期二、三位的重码,那么111期的重码该选取哪个呢?重码追邻就是在110期的04 07 的左右选取,110期04 07
		 * 的左右是02 15。所以111期的备选号就是02 15 了。实际上111期重码刚好开的是02。重码追邻一般选取2-3个号码。
		 */
		/* ========= 或者========= */
		/* 旺区落“胆”。就是在最近几期热号区选择胆码。比如,如果最近的5期内,在中区12~22出号比较密集,那么就要在这个区域里选取3个胆码。这样选择的理由是热码恒热原理,即号码总是在某个区域相对集中出现。 */
		if (flag == true) {
			hs.add(begin);
			hs.add(end);
		} else {
			Random random = new Random();
			hs.add(begin + random.nextInt(end - begin + 1));
		}
		/* Luck number! */
		while (hs.size() < 6) {
			Random random = new Random();
			hs.add(1 + random.nextInt(33));
		}

		return hs;
	}

	public int calcBlueBall(String select1, String select2) {
		int begin = 1;
		int end = 16;

		if (select2.equals(aOrBOrC.A.toString())) {
			begin = 1;
			end = 5;
		} else if (select2.equals(aOrBOrC.B.toString())) {
			begin = 6;
			end = 10;
		} else {
			begin = 11;
			end = 16;
		}

		Random random = new Random();
		int blueBall = begin + random.nextInt(end - begin + 1);
		if (select1.equals(oddOrEven.Odd.toString())) {
			while (blueBall % 2 == 0) {
				blueBall = begin + random.nextInt(end - begin + 1);
			}
		} else {
			while (blueBall % 2 == 1) {
				blueBall = begin + random.nextInt(end - begin + 1);
			}
		}

		return blueBall;
	}
}

分享到:
评论
9 楼 pikenlike 2009-02-25  
很好!不错!
强烈的要求顶起来..........
8 楼 babby52561 2009-02-25  
蛮好玩的。我已经用这个算了号码。就是对规则不是很了解,随便选了两个数字。哈哈
3 5 10 25 27 31 | 16
要是中了奖,请你吃棒冰。。。。
7 楼 jythoner 2009-02-09  
木雨青青 写道

花了点功夫,这些数据是怎么获取的?

数据是从println中的url连接中自己看
microjuz 写道

A,B,C是啥意思啊?

A,B,C是说蓝球出现所在的区域,1-5为A区,6-10为B区,11-16为C区,都是一些彩民的术语。详细的可以看代码中url
6 楼 hanhg 2009-02-06  
不错,有个界面好一点.
5 楼 microjuz 2009-02-06  
A,B,C是啥意思啊?
4 楼 microjuz 2009-02-06  
太敬仰拉。。
3 楼 木雨青青 2009-02-06  
花了点功夫,这些数据是怎么获取的?
2 楼 mazzystar 2009-02-06  
上期的数据是哪来的啊  自己去网站上找的吗
昨天第一次买 还没开奖呢
1 楼 leeldy 2009-02-06  
汗。。。这也可以
不过不错,如果我买彩票的话,很适合我这种不知道选什么号码的懒人

相关推荐

    带自定义数据导出的通用双色球中奖号码更新器

    双色球通用号码更新器 注意事项: 1.绿色版无需安装。 2.运行前请修改app.config文件的数据库路径。路径中不要包含中文!!! 3.双击“LotteryCaptureTool.exe”运行程序。 详细:...

    双色球选号 程序 VB编写

    双色球选号 程序 VB编写 比较有意思 可以参考,以便学习VB 相信是个比较号的VB范例

    python模拟双色球选号随机开奖判断中奖

    此文件为python源代码文件,严格根据福彩双色球规则,包括选号、随机开奖、判断中奖三个环节,并把中奖号码用特殊颜色高亮显示(适用于pycharm编辑器或Linux系统),并且提示用户中了几等奖。选号过程对于所选号码的...

    双色球选号工具,C#

    双色球选号工具是一款基于C#编程语言开发的小型应用程序,主要目的是为了辅助用户进行彩票号码的选择。在彩票领域,双色球是一种常见的彩票玩法,玩家需要选取6个红球号码(范围从1到33)和1个蓝球号码(范围从1到16...

    Vb6.0双色球数据随机生成器.rar

    Vb6.0双色球包号数据随机生成器,数据生成完成的话,可以选择顺序缩水、概率缩水,可定义数值的最小可能、最大可能。程序仅供学习VB算法,所生成数据并不起任何作用。

    软件程序双色球选号程序

    双色球选号程序是一种专为彩迷爱好者设计的软件工具,它可以帮助用户根据特定的算法或随机性来生成双色球彩票的号码组合。在理解这个程序之前,我们需要了解双色球彩票的基本规则。双色球是中国流行的一种彩票游戏,...

    双色球-自助选号源码(基本控件)

    双色球自助选号源码是一种基于编程技术实现的彩票辅助工具,主要针对中国的双色球彩票游戏。双色球是中国流行的彩票玩法,其规则包括选取6个红色球(从1到33中选择)和1个蓝色球(从1到16中选择)。这个源码提供了...

    双色球选个号码出中型旋转矩阵旋转矩阵公式.pdf

    双色球选个号码出中型旋转矩阵旋转矩阵公式.pdf 该资源提供了一个关于双色球选个号码的中型旋转矩阵旋转矩阵公式,旨在帮助用户快速生成双色球号码。该公式基于旋转矩阵理论,通过旋转矩阵的计算,生成了多种可能的...

    PHP模拟双色球随机选号

    PHP模拟双色球随机选号 一、开发环境 1、环境搭建:Windows 8+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0 。 2、文本编辑器:Sublime Text3。 二、主要技术 本实验主要使用while循环、GD库和函数的封装和调用实现迷宫的...

    福彩双色球选号器源代码

    【标题】"福彩双色球选号器源代码"涉及的...总的来说,"福彩双色球选号器源代码"是一个结合了彩票游戏规则、C#编程技巧以及可能的彩票选号策略的项目,对于学习C#编程和彩票系统开发的开发者来说,具有一定的参考价值。

    双色球自动选号易语言源码

    祝你们发财 易语言打造双色球自动选号源码

    excel双色球选号

    excel双色球选号 随机性 取号 祝大家心想事成

    历年双色球中奖号码从2003年到2023年 Excel数据 mysql数据库数据文件

    历年双色球中奖号码从2003年到2023年 Excel数据 mysql数据库数据文件

    2003001-2011032期双色球中奖号码

    根据提供的文件内容,我们可以分析并总结出关于双色球中奖号码的相关知识点。这份文档包含了从2003001期至2003069期的双色球中奖号码,每一行代表一个期次的中奖号码,其中前六个数字是红球号码(1-33之间),最后一...

    C++实现双色球随机生成器及兑奖

    本项目“C++实现双色球随机生成器及兑奖”旨在利用C++的强大功能,创建一个能够模拟双色球彩票的随机生成器,并具备数据处理功能,如导入、导出和中奖情况的分析。下面将详细阐述这个项目中的关键知识点。 首先,...

    Java 双色球彩票号码摇号神器!(附源码)

    Java 双色球彩票号码摇号神器是一款基于Java编程语言开发的应用程序,旨在为彩民提供一个随机生成双色球彩票号码的工具。这个神器包含了两部分:一个可直接运行的JAR包和完整的源代码,非常适合那些对Java编程感兴趣...

    Java实现双色球抽号程序

    一个不错的用Java实现的双色球抽号程序,希望能给您带来好运

    winform 版 双色球分析选号

    本项目“winform版双色球分析选号”就是利用Winform技术开发的一款彩票辅助工具,专为喜欢双色球游戏的用户提供号码分析和随机选号的功能。这个系统依赖于.NET Framework 3.5,因此在运行之前,用户需要确保其计算机...

    双色球选号系统源程序

    【标题】"双色球选号系统源程序"是一个基于Visual Basic(VB)开发的应用程序,主要用于帮助用户生成双色球彩票的号码组合。在深入理解这个系统之前,我们需要了解双色球彩票的基本规则:双色球是由6个红球(1到33...

    双色球选号器c++源码

    双色球选号器c++源码 使用VS MFC编程 界面美观

Global site tag (gtag.js) - Google Analytics