//随机生成双色球号码

//案例:6颗红球(33选1)  1颗蓝球(16选1)

代码实现如下:

import java.util.Random;
import java.util.Arrays;
//包含Arrays

public class HelloWorld {
	public static void main(String[] args){

		String[] getball = getBalls();
		System.out.println(Arrays.toString(getball));
	}

	public static String[] getBalls()
	{
		//随机生成双色球号码
		//案例:6颗红球(33选1)  1颗蓝球(16选1)
		String []pool = {
		"01","02","03","04","05","06","07","08",
		"09","10","11","12","13","14","15","16",
		"17","18","19","20","21","22","23","24",
		"25","26","27","28","29","30","31","32","33"
		};
		//用一个数组存放6个蓝色的球
		String[] balls = new String[6];
		int length = 0 ;
		//从pool数组中随机选取6个球,放入数组中,并且不能有重复
		/*
		 * 1、如何随机取
		 *    Random r = new Random();
		 *    r.nextInt(n); //取到0到n之间的随机数
		 * 2、如果不重复
		 * 	  一个下标的球被使用我们给它加个标识
		 *   boolean[] flag  = new bootlean[pool.length];数组中元素默认为false
		 */
		boolean[] used = new boolean[pool.length];
		Random r = new Random();
		while(true){
			int index = r.nextInt(pool.length);
			//说明该下标已经被使用过
			if(used[index])
				continue ; //结束本次循环,继续下一次循环
			balls[length++] = pool[index];//把选中的球放入球数组
			used[index] = true ;//把选中的球标识为已经使用过。
			if(length == balls.length) //如果下标等于6,证明选完了
				break ;
		}
		//红色的球已经选完了
		Arrays.sort(balls);
		//扩容一个空间,最后一个放蓝球
		//balls = Arrays.copyOf(balls,balls.length+1); 不知道为什么不行,疑惑中
		String []str = new String[balls.length+1]; //所以我只能使用这种老土的方法来实现数组扩容了
		for(int i = 0 ; i < balls.length ; i++)
			str[i] = balls[i];
		balls = str ;
		//balls = Arrays.copyOf(balls,balls.length+1);
		//蓝色的球16选1即可
		balls[balls.length-1] = pool[r.nextInt(16)];
		return balls ;
	}
}

Java案例:双色球的实现的更多相关文章

  1. _00019 Storm架构介绍和Storm获取案例(简单的官方网站Java案例)

    博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  2. java编写双色球源代码。-----系统作为彩票双色球生成器,模拟机选一注双色球的彩票号码

    package demo2; import java.util.Arrays; import java.util.Random; /** * 系统作为彩票双色球生成器,模拟机选一注双色球的彩票号码: ...

  3. 3#Java案例

    以下内容引用Github地址https://github.com/DuGuQiuBai/Java/blob/master/day01/code/02_%E5%B8%A6%E6%B3%A8%E9%87% ...

  4. Java案例整理

    1.随机点名器案例 1.1      案例介绍 随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息. 此案例在我们昨天课程学习中,已经介绍,现在我们要做的是对原有的案例进行升级,使用 ...

  5. Java案例:随机点名器

    案例介绍: 随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息.需具备以下3个内容:1)存储所有同学姓名2)总览全班同学姓名3)随机点名其中一人,打印到控制台 案例需求分析: 全班同 ...

  6. Java案例:超市库存管理系统

    案例介绍: 模拟真实的库存管理逻辑,完成超市管理系统的日常功能实现,见下图 案例需求分析: 根据案例介绍,我们进行分析,首先需要一个功能菜单,然后输入功能序号后,调用序号对应的功能方法,实现想要的操作 ...

  7. Java模拟双色球彩票

    package practice1; import java.util.Random; import java.util.Scanner; public class Test3 { /** * * 模 ...

  8. Java案例之随机验证码功能实现

    实现的功能比较简单,就是随机产生了四个字符然后输出.效果图如下,下面我会详细说一下实现这个功能用到了那些知识点,并且会把 这些知识点详细的介绍出来.哈哈 ,大神勿喷,对于初学Java的人帮助应该蛮大的 ...

  9. Java案例——学生管理系统

    简单完整的学生管理系统 学生类 public class Student { private String id; private String age; private String name; p ...

随机推荐

  1. 荣耀10带来AI版WPS,玩转潮酷新功能

    图书馆里,想把喜欢的句子和情节留存, 无奈摘抄需要时间,拍下来又很容易遗忘在相册? 课堂偷偷拍摄的课件, 模糊一片难以辨认? 开会培训收集的PPT照片, 总有那么几页对焦失败? 这些当时起劲,后来就& ...

  2. 如何用cmd通过sublime打开文件?

    sublime 提供了专门的命令工具subl.exe,就在它的安装目录之下,讲安装目录配置到系统环境变量中就OK了.具体如下: 1.找到sublime安装路径 如我的默认路径:C:\Program F ...

  3. 模仿天猫实战【SSM版】——项目起步

    前言:现在自己的学习似乎遇到了瓶颈,感觉学习了 SSM 之后有一些迷茫,不知道接下来该往哪里去努力了,我觉得这是个很不好的状态,为了度过这段时期,我准备把天猫模仿下来(给自己找点事做)之后开始去巩固 ...

  4. Kinect2.0 MultiSourceFrameReader 的 AcquireLatestFrame 方法获取不到帧的解决方案

    先把大致要写的东西写一下,手里的活忙完了再完善. 在代码中使用下边的语句,获取Kinect中,colorFrame, depthFrame, bodyIndex三种帧,但是经常会遇到在后边的程序中处理 ...

  5. leetcode刷题笔记08 字符串转整数 (atoi)

    题目描述 实现 atoi,将字符串转为整数. 在找到第一个非空字符之前,需要移除掉字符串中的空格字符.如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即 ...

  6. Docker的名字空间

    名字空间是 Linux 内核一个强大的特性.每个容器都有自己单独的名字空间,运行在其中的应用都像是在独立的操作系统中运行一样.名字空间保证了容器之间彼此互不影响. pid 名字空间 不同用户的进程就是 ...

  7. DISC社交风格测试题--老虎 孔雀 考拉 猫头鹰

    凭直觉,迅速回答 "我是谁",而不是"我应该是谁,或我想我是谁". 1.关于人生观,我的内心其实是: A 希望能够有尽量多的人生体验,所以会有非常多样化的想法. ...

  8. pandas小记:pandas高级功能

    http://blog.csdn.net/pipisorry/article/details/53486777 pandas高级功能:面板数据.字符串方法.分类.可视化. 面板数据 {pandas数据 ...

  9. zookeeper基本原理及适用场景 转:http://blog.chinaunix.net/uid-26748613-id-4536290.html

    1.1 zookeeper简介 Zookeeper 是 Hadoop 生态系统中的协同实现,是Hadoop集群管理的一个必不可少的模块,它主要来控制集群中的数据,如它管理Hadoop集群中的NameN ...

  10. 利用git pull的勾子实现敏捷部署

    监听端 例如nginx或Python,php,rails等后端 git --git-dir=~/op/.git --work-tree=~/op pull git hooks端 位于.git/hook ...