双色球机选算法java实现
双色球机选算法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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库