您好,登錄后才能下訂單哦!
這篇文章主要介紹了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跳過此次循環重新賦值
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。