双色球案例

来源:互联网 发布:淘宝直通车推广费钱吗 编辑:程序博客网 时间:2024/06/05 15:10

双色球需求:红球选六个,篮球选一个
红球6个:1–33
篮球1个:1–16

红球数组:1,2,3, …… 33 用随机数(Random)
篮球数组:1,2,3, …… 16 random(16)+1

中奖数组:6个红一个蓝

1取
1,2,3, …… 33
false,false….false

红球:准备两个数组,一个放球,一个做标记,如果红球被选中,就把标记改一下,下次就别选了

import java.util.Random;public class DoubleBallAnother {    public static void main(String[] args) {        boolean[] arr2 = new boolean[33];        Random random = new Random();        int i=0;        do {            int ran = random.nextInt(6)+1;//写6便于验证            if(arr2[ran]==false) {                arr2[ran]=true;                System.out.println("红球第"+(i+1)+"个中奖号码为:"+ran);                i++;            }        }while(i<6);        System.out.println("蓝球中奖号码为:"+(random.nextInt(16)+1));    }}

运行结果:

红球第1个中奖号码为:4红球第2个中奖号码为:5红球第3个中奖号码为:2红球第4个中奖号码为:3红球第5个中奖号码为:6红球第6个中奖号码为:1蓝球中奖号码为:15

下面这个是我自己想的,比较麻烦

import java.util.Random;public class DoubleBall {    public static void main(String[] args) {        int[] ran_arr = new int[6];//这里写6便于验证有没有重复的        Random random = new Random();        int i=0;        while(i<6) {            int ran = random.nextInt(6)+1;            if(i==0) {                ran_arr[i]=ran;                i++;            }else {                for(int j=1; j<=i; j++) {                    if(ran == ran_arr[j-1]) {                        break;                    }else {                         if(j==i) {                            ran_arr[i] =ran;                            i++;                            break;                        }                    }                }            }        }        int[] ran = {random.nextInt(16)+1};        PrintArray(ran_arr);        PrintArray(ran);    }    //打印数组    public static void PrintArray(int [] arr) {        for(int i=0; i<arr.length; i++) {            if(arr.length==1) {                System.out.println("篮球有:["+arr[0]+"]");            }            else if(i==0) {                System.out.print("红球有:["+arr[0]+",");            }            else if(i==arr.length-1) {                System.out.println(arr[i]+"]");            }            else {                System.out.print(arr[i]+",");            }        }    }}

最后这个打印的方法是没必要的,今天正好下了这么一个方法,就拿来改了改用了
运行结果:

红球有:[3,1,4,6,2,5]篮球有:[3]
原创粉丝点击