您好,登錄后才能下訂單哦!
這篇文章給大家介紹Java中怎么實現雙色球搖獎功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
雙色球:從1-33號球中選取6個紅球,且紅球不重復
從1-16號球中選取一個籃球
話不多說 上代碼~~~
package Javaee;import java.util.Arrays;import java.util.Random;public class DoubleChromosphere {public static void main(String[] args) {//定義紅球池int[] redpool = new int[33];//添加紅球數字for (int i = 0; i < redpool.length; i++) {redpool[i] = i + 1;}//定義籃球池int[] bluepool=new int[16];for (int j = 0; j < bluepool.length; j++) {bluepool[j] = j + 1;}//定義被選中的紅球int[] redballs =new int[6];int x;A: for (int i = 0; i < redballs.length; i++) {x = new Random().nextint(33);for (int j = 0; j <= i; j++) {//去重過程//判斷當前循環取出的紅球是否跟前幾次取出的一樣//如果一樣 大循環A向后退一次,重新取出紅球if (redballs[j] == redpool[x]) {i--;continue A;}}//如果不一樣,則把取出的紅球池中取出的紅球放入紅球數組中redballs[i] = redpool[x];}//取出籃球int a = bluepool[new Random().nextint(16)];//利用冒泡排序對紅球進行排序int temp;for (int i = 0; i < redballs.length-1; i++) {for (int j = 0; j < redballs.length-i-1; j++) {if (redballs[j]>redballs[j+1]) {temp=redballs[j+1];redballs[j+1]=redballs[j];redballs[j]=temp;}}}System.out.println("紅球為:" + Arrays.toString(redballs));System.out.println("藍球為:" +a);}}
關鍵問題在于去除重復的紅球,使用i--和對continue對數據進行去重,主要在于理解返回上一次循環和continue跳過此次循環重新賦值
關于Java中怎么實現雙色球搖獎功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。