这篇文章给大家介绍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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。