双色球机选算法java实现

一、代码

package com.hdwang;

import java.util.Random;

/**
* Created by admin on 2017/1/10.
* 双色球机选实现
*/
public class Ssq { public static void main(String[] args) { int arrayNums = 5; //机选5组
for(int i=0;i<arrayNums;i++){
String hm = getYZHM();
System.out.println(hm);
}
} /**
* 产生一组双色球选号
* @return 一注号码
*/
private static String getYZHM(){
//33选6
int[] exist = new int[6]; //默认全0
for(int i=0;i<6;i++){
int ball = getABall(33,exist);
exist[i] = ball; //暂存已选的球
}
sort(exist); //排序
//16选1
int specialBall = getABall(16,null); //拼接字符串
String hm = "";
for(int i=0;i<6;i++){
String num = exist[i] < 10 ? "0"+exist[i] : ""+ exist[i];
if(i==0){
hm+= num;
}else{
hm+= ","+ num;
}
}
hm += "\t"+(specialBall<10? "0"+specialBall:""+specialBall);
return hm;
} /**
* 摇出一个号码
* @param total 球总数
* @param exist 已经选出的球
* @return 一个新号码
*/
private static int getABall(int total,int[] exist){
Random random = new Random();
int ball = random.nextInt(total)+1;
while(true){
if(contains(exist,ball)){
ball = random.nextInt(total)+1;
}else{
break; //取到了新球,结束
}
}
return ball;
} /**
* 判断数组是否包含某个元素
* @param array 数组
* @param value 元素
* @return 是否存在
*/
private static boolean contains(int[] array,int value){
boolean c = false;
if(array == null){
return false;
}
for(int i=0;i<array.length;i++){
if(array[i] == value){
c = true;
break;
}
}
return c;
} /**
* 排序
* @param array 数组
*/
private static void sort(int[] array){
for(int i=0;i< array.length-1;i++){ //比多少次
for(int j= i+1;j<array.length;j++){ //每次循环,将最小数提前
if(array[i]>array[j]){ //小数冒泡
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
}
}
}

二、结果

07,09,12,21,28,32 14
13,18,19,27,31,32 12
01,02,05,16,19,25 14
01,04,06,19,23,33 16
09,10,11,16,28,33 10

双色球机选算法java实现的更多相关文章

  1. PHP实现简单的双色球机选号码

    <?php header('Content-Type: text/html; charset=utf-8'); //PHP实现双色球机选号码 $red = range(1, 33);//初次设定 ...

  2. 第一个Python程序 | 机选彩票号码+爬取最新开奖号码

    (机选彩票号码+爬取最新开奖号码 | 2021-04-21) 学习记录,好记不如烂笔头 这个程序作用是<机选三种彩票类型的号码> 程序内包含功能有如下: 自动获取最新的三种彩票的开奖号码 ...

  3. 归并排序算法 java 实现

    归并排序算法 java 实现 可视化对比十多种排序算法(C#版) [直观学习排序算法] 视觉直观感受若干常用排序算法 算法概念 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Di ...

  4. 快速排序算法 java 实现

    快速排序算法 java 实现 快速排序算法Java实现 白话经典算法系列之六 快速排序 快速搞定 各种排序算法的分析及java实现 算法概念 快速排序是C.R.A.Hoare于1962年提出的一种划分 ...

  5. 堆排序算法 java 实现

    堆排序算法 java 实现 白话经典算法系列之七 堆与堆排序 Java排序算法(三):堆排序 算法概念 堆排序(HeapSort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,可以利用数组的特 ...

  6. Atitit 电子商务订单号码算法(java c# php js 微信

    Atitit 电子商务订单号码算法(java c# php js  微信 1.1. Js版本的居然钱三爷里面没有..只好自己实现了. 1.2. 订单号标准化...长度16位 1.3. 订单号的结构 前 ...

  7. 无向图的最短路径算法JAVA实现

    一,问题描述 给出一个无向图,指定无向图中某个顶点作为源点.求出图中所有顶点到源点的最短路径. 无向图的最短路径其实是源点到该顶点的最少边的数目. 本文假设图的信息保存在文件中,通过读取文件来构造图. ...

  8. 无向图的最短路径算法JAVA实现(转)

    一,问题描述 给出一个无向图,指定无向图中某个顶点作为源点.求出图中所有顶点到源点的最短路径. 无向图的最短路径其实是源点到该顶点的最少边的数目. 本文假设图的信息保存在文件中,通过读取文件来构造图. ...

  9. 基于FP-Tree的关联规则FP-Growth推荐算法Java实现

    基于FP-Tree的关联规则FP-Growth推荐算法Java实现 package edu.test.ch8; import java.util.ArrayList; import java.util ...

随机推荐

  1. jquery 产品查看放大镜组件

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 从Http它被连接到WebSocket

    1.HTTP协议长期-fi支持和各支持的浏览器 http://blog.csdn.net/fenglibing/article/details/7100222 2.WEBclient与服务端信息交互的 ...

  3. Android项目---listview的那些属性,常用却不常见

    一.在xml中,常用到的属性有 android:cacheColorHint="#00000000" //设置拖动背景色为透明 android:dividerHeight=&quo ...

  4. Oracle之savepoint

    Oracle之savepoint 什么是savepoint?Use the SAVEPOINT statement to identify a point in a transaction to wh ...

  5. 动态操作表格行(兼容IE、火狐)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. JavaScript实例技巧精选(11)—计算器实例3

    >>点击这里下载完整html源码<< 界面如下 将以下代码插入<body></body>中 <FORM NAME="Calc" ...

  7. Javascript技巧实例精选(5)—显示当前的日期和时间

    用Javascript实现在屏幕中打印当前的日期和时间 >>点击这里下载完整html源码<< 这是显示的效果 目前的日期/时间是:Wed Sep 25 2013 23:40:0 ...

  8. [置顶] c# 验证码生成

    今儿有一个任务是输出一串字符,要求用GDI画出于是: Bitmap bm = new Bitmap(200, 200);             Graphics g = Graphics.FromI ...

  9. [置顶] 如何使用c3p0+spring连接oracle数据库

    1. 首先是jdbc.properties属性文件的编写,便于数据库移植: datasource.driverClassName=oracle.jdbc.driver.OracleDriver dat ...

  10. Winform系列

    小菜学习编程-Winform系列(初学者)   前言 记得上次写<小菜的程序员道路(二)>,这篇文章的时候说过,要把工作以来整理的编程知识分享给大家,因为这半年来的工作实在是忙,现在也在忙 ...