java双色球机选法程序解析

 更新时间:2020年01月01日 10:43:26   作者:石头猿  
这篇文章主要为大家详细解析了java双色球机选法程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java双色球机选法程序的具体代码,供大家参考,具体内容如下

一.程序要求

随机产生红色球池1~33,并随机从红色球池中去除6个红球,且不可重复!

随机产生蓝色球池1~16, 并随机从蓝色球池中去除1个蓝球,且不可重复!

二.程序分析

a.先将红球与蓝球球池建立!

我们可以使用for循环来产生,并放到对应数组中。

int[]hongQiu=new int[33];
  for(int i=0;i<hongQiu.length;i++){
   hongQiu[i]=i+1;

b.通过Random方法产生33个随机数并作为上一步产生的球池数组的下标。从而取出随机的球

c.为了排除不取出重复的球,我们可以建立一个Boolean类型的数组,长度也为33,Boolean数组默认里面的数据都是false,通过每取出一个就将Boolean数组中对应的一个数据置为true;再使用if来进行判断,当是true时就代表取重复了,使用continue结束下面循环重新再重头开始循环,直到我们取出来6个不重复的为止,进行Break跳出!

三.程序代码如下:

import java.util.Random;
import java.util.Arrays;
public class Shuangseqiu {
 
 public static void main(String[] args) {
  //产生红球球池1~33,房子数组lanQiu中
 int[]hongQiu=new int[33];
  for(int i=0;i<hongQiu.length;i++){
   hongQiu[i]=i+1;
  }
  //产生16个红球球池
  
  int[]lanQiu=new int[16];
  for(int i=0;i<lanQiu.length;i++){
   lanQiu[i]=i+1;
  }
  //产生6个随机数作为蓝色球池数组的下标,从而选出6个球
  int i=0;
  int[] flag=new int[6];
  boolean[] dex=new boolean[33];
  Random random=new Random();
  while(true){
    int index=random.nextInt(33);
   if(dex[index]==true){
   continue;
   }
   flag[i]=hongQiu[index];
   i++;
   if(i==6){
   break;
   }
  }
  //产生1个随机数作为数组lanQiu的下标,从而从蓝球球池取出一个球
  int []flag1=new int[1];int k=0;
  boolean[]dex1=new boolean[16];
  while(true){
   int index1=random.nextInt(16);
   flag1[0]=lanQiu[index1];
   if(dex1[index1]==true){
   continue;
   }
   k++;
   if(k==1){
   break;
   }
  } 
   System.out.println("本期红球为:"+Arrays.toString(flag));
   System.out.println("本期蓝球为:"+Arrays.toString(flag1));
 }
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SharedingSphere 自定义脱敏规则介绍

    SharedingSphere 自定义脱敏规则介绍

    这篇文章主要介绍了SharedingSphere 自定义脱敏规则,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 解决idea默认带的equals和hashcode引起的bug

    解决idea默认带的equals和hashcode引起的bug

    这篇文章主要介绍了解决idea默认带的equals和hashcode引起的bug,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 浅谈foreach写失效的问题

    浅谈foreach写失效的问题

    下面小编就为大家带来一篇浅谈foreach写失效的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • mybatis-plus动态表名实现方法

    mybatis-plus动态表名实现方法

    本文主要介绍了mybatis-plus动态表名实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Springboot POI导出Excel(浏览器)

    Springboot POI导出Excel(浏览器)

    这篇文章主要为大家详细介绍了Springboot POI导出Excel,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • SpringBoot单元测试没有执行的按钮问题及解决

    SpringBoot单元测试没有执行的按钮问题及解决

    这篇文章主要介绍了SpringBoot单元测试没有执行的按钮问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • java中对象的强、软、弱、虚四种引用详解

    java中对象的强、软、弱、虚四种引用详解

    这篇文章主要介绍了java中对象的强、软、弱、虚四种引用详解,对象的引用分为4种,分别是强引用>软引用>弱引用>虚引用,程序员可以通过不同的引用控制对象的生命周期,方便垃圾回收,使程序更加灵活的控制对象生命周期,需要的朋友可以参考下
    2023-09-09
  • 关于IDEA无法预览Markdown文件的解决思路

    关于IDEA无法预览Markdown文件的解决思路

    在IntelliJ IDEA中,有时Markdown文件无法预览可能是因为文件关联设置不正确或配置信息错误,首先,检查IDE的File Types设置,确保.md和.markdown后缀已正确注册,其次,对照官方配置信息,调整Markdown设置
    2024-09-09
  • SpringBoot打印系统执行的sql语句及日志配置指南

    SpringBoot打印系统执行的sql语句及日志配置指南

    这篇文章主要给大家介绍了关于SpringBoot打印系统执行的sql语句及日志配置的相关资料,在Java SpringBoot项目中如果使用了Mybatis框架,默认情况下执行的所有SQL操作都不会打印日志,需要的朋友可以参考下
    2023-10-10
  • Spring Boot配置内容加密实现敏感信息保护

    Spring Boot配置内容加密实现敏感信息保护

    之前我们讲过的配置相关知识都是Spring Boot原生就提供的,而今天我们将介绍的功能并非Spring Boot原生就支持,但却非常有用:配置内容的加密
    2021-11-11

最新评论