编辑代码

//模拟双色球
import java.util.Arrays;
import java.util.Random;
public class Main{
    public static void main(String[] args){
        //新建数组-存储红蓝球的数组
        int[] r = zbsz(33);
        int[] b = zbsz(16);

        System.out.println("红色:"+Arrays.toString(r));
        System.out.println("蓝色:"+Arrays.toString(b));
        //新建变量-存储选择的红蓝球
        int[] red = selectRed(r);
        int blue  = selectBlue(b);
        //打印选择的结果
        System.out.println("红球:"+Arrays.toString(red));
        System.out.println("篮球:"+blue);
    }

    private static int[] zbsz(int n){
        /*新建长度为n的int类型数组,存放在a内*/
        int[] a = new int[n];
        for(int i=0;i<a.length;i++){
            a[i] = i+1;//比较简单的赋值,让每个元素依次为1,2,3.....
        }
        return a;
    }

    //给出选择结果的方法
    private static int[] selectRed(int[] a){
        //打乱前六个位置的值,然后截取输出,这样就有了随机的效果
        //循环前6个元素
        for(int i=0;i<6;i++){
            //j是随机定位,j会定位到第六位之后随机一个位置
            int j = i+new Random().nextInt(a.length-i);
            //把前六位中的某个元素和j定位到的元素交换
            int t = a[j];
            a[j]=a[i];
            a[i]=t;/*经典的交换*/
        }
        //返回数组的前六位
        return Arrays.copyOf(a,6);
    }
    
    private static int selectBlue(int[] b){
        return b[new Random().nextInt(16)];
    }
}