java雙色球機(jī)選法程序解析
本文實(shí)例為大家分享了java雙色球機(jī)選法程序的具體代碼,供大家參考,具體內(nèi)容如下
一.程序要求
隨機(jī)產(chǎn)生紅色球池1~33,并隨機(jī)從紅色球池中去除6個(gè)紅球,且不可重復(fù)!
隨機(jī)產(chǎn)生藍(lán)色球池1~16, 并隨機(jī)從藍(lán)色球池中去除1個(gè)藍(lán)球,且不可重復(fù)!
二.程序分析
a.先將紅球與藍(lán)球球池建立!
我們可以使用for循環(huán)來產(chǎn)生,并放到對(duì)應(yīng)數(shù)組中。
int[]hongQiu=new int[33]; for(int i=0;i<hongQiu.length;i++){ hongQiu[i]=i+1;
b.通過Random方法產(chǎn)生33個(gè)隨機(jī)數(shù)并作為上一步產(chǎn)生的球池?cái)?shù)組的下標(biāo)。從而取出隨機(jī)的球
c.為了排除不取出重復(fù)的球,我們可以建立一個(gè)Boolean類型的數(shù)組,長(zhǎng)度也為33,Boolean數(shù)組默認(rèn)里面的數(shù)據(jù)都是false,通過每取出一個(gè)就將Boolean數(shù)組中對(duì)應(yīng)的一個(gè)數(shù)據(jù)置為true;再使用if來進(jìn)行判斷,當(dāng)是true時(shí)就代表取重復(fù)了,使用continue結(jié)束下面循環(huán)重新再重頭開始循環(huán),直到我們?nèi)〕鰜?個(gè)不重復(fù)的為止,進(jìn)行Break跳出!
三.程序代碼如下:
import java.util.Random; import java.util.Arrays; public class Shuangseqiu { public static void main(String[] args) { //產(chǎn)生紅球球池1~33,房子數(shù)組lanQiu中 int[]hongQiu=new int[33]; for(int i=0;i<hongQiu.length;i++){ hongQiu[i]=i+1; } //產(chǎn)生16個(gè)紅球球池 int[]lanQiu=new int[16]; for(int i=0;i<lanQiu.length;i++){ lanQiu[i]=i+1; } //產(chǎn)生6個(gè)隨機(jī)數(shù)作為藍(lán)色球池?cái)?shù)組的下標(biāo),從而選出6個(gè)球 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; } } //產(chǎn)生1個(gè)隨機(jī)數(shù)作為數(shù)組lanQiu的下標(biāo),從而從藍(lán)球球池取出一個(gè)球 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("本期紅球?yàn)椋?+Arrays.toString(flag)); System.out.println("本期藍(lán)球?yàn)椋?+Arrays.toString(flag1)); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SharedingSphere?自定義脫敏規(guī)則介紹
這篇文章主要介紹了SharedingSphere?自定義脫敏規(guī)則,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12解決idea默認(rèn)帶的equals和hashcode引起的bug
這篇文章主要介紹了解決idea默認(rèn)帶的equals和hashcode引起的bug,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07mybatis-plus動(dòng)態(tài)表名實(shí)現(xiàn)方法
本文主要介紹了mybatis-plus動(dòng)態(tài)表名實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Springboot POI導(dǎo)出Excel(瀏覽器)
這篇文章主要為大家詳細(xì)介紹了Springboot POI導(dǎo)出Excel,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05SpringBoot單元測(cè)試沒有執(zhí)行的按鈕問題及解決
這篇文章主要介紹了SpringBoot單元測(cè)試沒有執(zhí)行的按鈕問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01java中對(duì)象的強(qiáng)、軟、弱、虛四種引用詳解
這篇文章主要介紹了java中對(duì)象的強(qiáng)、軟、弱、虛四種引用詳解,對(duì)象的引用分為4種,分別是強(qiáng)引用>軟引用>弱引用>虛引用,程序員可以通過不同的引用控制對(duì)象的生命周期,方便垃圾回收,使程序更加靈活的控制對(duì)象生命周期,需要的朋友可以參考下2023-09-09關(guān)于IDEA無(wú)法預(yù)覽Markdown文件的解決思路
在IntelliJ IDEA中,有時(shí)Markdown文件無(wú)法預(yù)覽可能是因?yàn)槲募P(guān)聯(lián)設(shè)置不正確或配置信息錯(cuò)誤,首先,檢查IDE的File Types設(shè)置,確保.md和.markdown后綴已正確注冊(cè),其次,對(duì)照官方配置信息,調(diào)整Markdown設(shè)置2024-09-09SpringBoot打印系統(tǒng)執(zhí)行的sql語(yǔ)句及日志配置指南
這篇文章主要給大家介紹了關(guān)于SpringBoot打印系統(tǒng)執(zhí)行的sql語(yǔ)句及日志配置的相關(guān)資料,在Java SpringBoot項(xiàng)目中如果使用了Mybatis框架,默認(rèn)情況下執(zhí)行的所有SQL操作都不會(huì)打印日志,需要的朋友可以參考下2023-10-10Spring?Boot配置內(nèi)容加密實(shí)現(xiàn)敏感信息保護(hù)
之前我們講過的配置相關(guān)知識(shí)都是Spring?Boot原生就提供的,而今天我們將介紹的功能并非Spring?Boot原生就支持,但卻非常有用:配置內(nèi)容的加密2021-11-11