双色球中奖

前端时间,在贴吧上看到有人问关于双色球的问题;最近老听同事谈论买双色球的事,故想写一段代码,测试下中奖概率。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;




public class Chromosphere2 {


private static String choujiang(String content) {
// TODO Auto-generated method stub
// 双色球 :红色球号码 + 蓝色球号码  
       // 六个红色球和一个蓝色球号码  
       // 红色球号码从1~33中选择  
       // 蓝色球号码从1~16中选择  
       // 一等奖:七个号码相符(六个红色号码和一个蓝色球号码)(红色球号码顺序不限,下同)  
       // 二等奖:六个红色球号码相符;  
       // 三等奖:五个红色球号码和一个蓝色球号码相符;  
       // 四等奖:五个红色球号码,或者四个红色球号码和一个蓝色球号码相符;  
       // 五等奖:四个红色球号码;  
       // 六等奖:一个蓝色球号码相符;  
 
       // 例如:红色球号码 01 06 13 19 24 28 蓝色球号码 16  
       System.out.println("开始出奖");  
       // 定义双色球数组,大小为7  
       List<String> list_red2 = new ArrayList<String>();  
       int small=0;
       int big=0;
       ok:
       for (int i = 0;; i++) { //红球 
        int aaa = (int) (Math.random() * 33+1);
        String redValue = String.valueOf(aaa); 
        if(list_red2!=null&&list_red2.size()>0){
        if(!list_red2.contains(redValue)){
        if(aaa<=17){
        if(small>=3){
        continue;
        }
        small++;
        }else{
        if(big>=3){
        continue;
        }
        big++;
        }
        if (aaa < 10) {  
        list_red2.add("0" + redValue);
               } else {  
                list_red2.add(redValue); 
               }
        }
        }else{
        if(aaa<=17){
        small++;
        }else{
        big++;
        }
        if (aaa < 10) {  
        list_red2.add("0" + redValue);
               } else {  
                list_red2.add(redValue); 
               }
        }
            if(list_red2!=null&&list_red2.size()>0){
            if(list_red2.size()==6){
        break ok;
        }
            }
       
       } 
       //将list转数组
       String[] red=new String[6];
       for(int i=0;i<list_red2.size();i++){
        red[i]=list_red2.get(i);
        }
       Arrays.sort(red);
       
       System.out.println(red);
       int blue = (int) (Math.random() * 16+1); 
       String blues = "";
       if(blue<10){//蓝球 
        blues = "+0"+blue;
       }else{
        blues = "+"+blue;
       }
       // 打印双色球号码  
       List list =new ArrayList();
       for (int i=0;i<red.length;i++) {  
           System.out.print(red[i]+" "); 
           list.add(red[i]);
       } 
       System.out.println(" " + blues);
       list.add(blues);
       System.out.println(list);
       
       //String content = "02,04,15,18,26,29,+08";
       String[] str = content.split(",");
       int count1 = 0;
       int count2 = 0;
       for(int i=0;i<str.length;i++){
        if(i<6){
    if(list.contains(str[i])){
        count1++;
        }
        }else{
        if(list.contains(str[i])){
            count2++;
            }
        }
       
       }
       System.out.println(count1+"======="+count2);
       if(count1==6&&count2==1){
        System.out.println("恭喜!您中了一等奖");
        return "一等奖"; 
       }else if(count1==6&&count2==0){
        System.out.println("恭喜!您中了二等奖");
        return "二等奖";
       }else if(count1==5&&count2==1){
        System.out.println("恭喜!您中了三等奖");
        return "三等奖";
       }else if((count1==4&&count2==1)||(count1==5&&count2==0)){
        System.out.println("恭喜!您中了四等奖");
        return "四等奖";
       }else if((count1==3&&count2==1)||(count1==4&&count2==0)){
        System.out.println("恭喜!您中了五等奖");
        return "五等奖";
       }else if(count1<4&&count2==1){
        System.out.println("恭喜!您中了六等奖");
        return "六等奖";
       }else{
        System.out.println("很遗憾!没中奖");
        return "没中奖";
       }
        
}

public static void main(String[] args) throws IOException {
/*BufferedReader stdin =new BufferedReader(new InputStreamReader(System.in));
String str = stdin.readLine();
choujiang(str);*/
choujiang("03,10,16,18,27,29,+08");
    } 


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值