双色球的数组实现和集合实现

双色球的数组实现:

 

import java.util.Random;
public class ShuangSeQiu {

public static void main(String[] args) {
    Random rand = new Random();

    int[] red = new int[6];    

    //红球(无序):
    for (int i = 0; i < red.length; i++) {
        red[i]=(int)(rand.nextInt(33)+1);    
        for (int j = 0; j < i; j++) {            
            if(red[i]==red[j]){
                i--;
            }
        }
    }
    //冒泡
    for (int i = 0; i < red.length; i++) {
        for (int j = 0; j < red.length-1-i; j++) {
            int temp = red[j];
            if(red[j]>red[j+1]){
                red[j]= red[j+1];
                red[j+1]= temp;
            }
        }
    }
    //蓝球
    int blue = rand.nextInt(16)+1;

    System.out.print("今日中奖号码为:");
    for (int i = 0; i < red.length; i++) {
        System.out.print(red[i]+",");
    }
    System.out.print(" + "+blue);    
}

}

 

双色球的集合实现:

 

 

 

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;

public class ShuangSeQiu { 

        public static void main(String[] args){ 
        for (int i = 0; i < 5; i++) {
            System.out.println(getSsq());
        }
    }
    public static String getSsq(){
        String ssq = "";
        //解决红球问题
        //创建Set集合,存储红球;使用Set集合原因是可以得到不重复的红球(“唯一性”)
        Set<Integer> reds = new HashSet<Integer>();        
        Random rand = new Random();//创建随机数对象
        //获得六个不唯一且无序的随机数
        do {
            int num = rand.nextInt(33) + 1;//获得一个1~33之间的随机数
            reds.add(num);//添加元素到集合
            if(reds.size()==6){
                break;
            }
        } while (true);    
        //随机数排序
        //创建List集合,解决排序问题。使用List的原因是可以使用Collections。sort()方法来排序
        List<Integer> list = new ArrayList<Integer>();
        for (Integer in : reds) {
            list.add(in);  //添加Set集合元素到List集合
        }
        //调用Collections的sort()方法进行排序
        Collections.sort(list);
        for (Integer in : list) {
            String temp = in+"";
            if(in>0&&in<10){
                temp = "0"+in;
            }
            ssq += temp+" ";
        }
        //解决篮球问题
        int blue = rand.nextInt(16)+1;//获得一个1~16之间的随机数
        String blueStr = blue+"";
        if(blue>0&&blue<10){
            blueStr = "0"+blue;
        }
        //ssq结果
        ssq += " + " + blueStr;
        return ssq;
    }

}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值