简单的双色球生成方法
来源:互联网 发布:未来网络发展趋势 编辑:程序博客网 时间:2024/05/21 09:37
1.首先双色球有6个红球和一个篮球组成,6个红球是1-32的六个随机数且不重复,篮球为1-16的一个随机数,和红球没有关系,可以和红球有重复。好啦
代码开始
方法一:
public static void getBall01() {
//得到一个生成随机数的对象
Random random = new Random();
//这里用到TreeSet,可以去除重复,可以排序
Set<Integer> set = new TreeSet<>();
//得到六个不重复的红球
while (set.size() != 6) {
set.add(random.nextInt(32) + 1);
}
System.out.print("红球为: ");
for (Integer integer : set) {
System.out.print(integer + " ");
}
int blue = random.nextInt(16) + 1;
System.out.println("篮球为: " + blue);
}
还有好多种方法,自己感觉上面这个方法比价简单易懂。
方法二: public static void getBall02(){
Random rd = new Random();
int []ball = new int[7];
for (int k = 0; k < 10; k++) {
//生成一个蓝球
int blueBall = rd.nextInt(16) + 1;
ball[6] = blueBall;
for (int i = 0; i < ball.length - 1;) { // for(;;){}
int redBall = rd.nextInt(33) + 1;
boolean isHas = false; //表示红球是否已存在
//判断此红球是否已存在
for (int j = 0; j < i; j++) {
if (redBall == ball[j]) {
isHas = true;
break;
}
}
//if(isHas==false){
if (!isHas) { //不存在,则添加到数组中
ball[i] = redBall;
i++;
}
}
//输出双色球
System.out.print("双色球的值为:");
for (int i = 0; i < ball.length; i++) {
System.out.print(ball[i] + "\t");
}
System.out.println();
}
}
方法三:更繁琐了
1:先写一个判断数组里是否有重复数字的方法
public static boolean PanDuan(int[] a) {
// 设置监控点
boolean flag = false;
for (int i = 0; i < a.length; i++) {
int temp = a[i];
int count = 0;
for (int j = 0; j < a.length; j++) {
int temp2 = a[j];
if (temp == temp2) {
count++;
}
}
// 一个一个比较,会出现同一个数比较两次,
if (count >= 2) {
flag = true;
}
}
return flag;
}
2:然后生成双色球
public static void getBall03() {
Random random = new Random();
// System.out.println(numRed);
// 生成篮球随机数
int numBulue = random.nextInt(16) + 1;
// int count = 0;
int[] arrRed = new int[6];
int[] all = new int[7];
all[6] = numBulue;
// 设置监控点
boolean isChongfu;
do {
for (int i = 0; i < 6; i++) {
// 生成红球随机数
int numRed = random.nextInt(33) + 1;
arrRed[i] = numRed;
// System.out.print(numRed + "\t");
}
//判断是否有重复的数字
isChongfu = PanDuan(arrRed);
//如果有重复数字则继续循环,没有则isChongfu变为false,结束循环
} while (isChongfu);
//生成无重复数组后,排序
Arrays.sort(arrRed);
//把红球添加进双色球数组内
for (int i = 0; i < arrRed.length; i++) {
all[i] = arrRed[i];
System.out.print(arrRed[i] + "\t");
}
System.out.println();
//输出双色球
System.out.println("双色球为");
for (int i : all) {
System.out.print(i + "\t");
}
}
- 简单的双色球生成方法
- 简单的纹理生成方法
- 简单的生成随机字符串的方法
- 简单生成密码的方法 (函数)
- asp生成Excel最简单的方法
- 生成JFreeChart API的简单方法
- Webwork生成静态文件的简单方法
- MATLAB生成圆形模板的简单方法
- 一个简单的验证码生成方法
- 一个ios生成ipa的简单方法
- Dedecms生成sitemap.xml的简单方法
- 生成二维码天下最简单的方法
- Oracle生成Guid的简单方法
- 两种简单生成编号的方法
- php生成随机数,简单高效的方法
- C#生成条形码图片的简单方法
- 最简单的验证码生成方法
- 简单的生成双色球代码
- 粉刷匠 BZOJ
- hadoop jstack Unable to open socket file: target process not responding or HotSpot VM not loaded
- [Beginning] 起点
- HttpClient androidStudio中的基础使用
- [bzoj3477][Usaco2014 Mar][二分]Sabotage
- 简单的双色球生成方法
- input文本框的常用操作
- npm笔记
- Android 动态修改layout_weight
- 2017第十五届烟台国际装备制造业博览会会刊(参展商名录)
- Linux下编译、链接和装载
- java中的byte的取值范围为什么是-128~127?
- 缺陷清除率的简单分析
- 用WIFI来调试安卓APP开发