您的位置:首页 > 编程语言 > Java开发

JAVA--高级基础开发

2019-11-15 12:04 1921 查看

 

[集合版双色球]

十二、双色球规则:双色球每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1—33中选择;蓝色球号码从1—16中选择;请随机生成一注双色球号码。(要求同色号码不重复)

package day03;

 

import java.util.HashSet;

import java.util.Random;

import java.util.Scanner;

import java.util.TreeSet;

 

public class JiHeShunagseqiu {

    static int lanqiu1 = 0;

    public static void main(String[] args){

        //系统一运行就会触发随机生成篮球和红球

        play();

    }

    public static  void  play(){

        Scanner input=new Scanner(System.in);

        System.out.println("=========模拟彩票大乐透=========");

        System.out.println("请用户选择出票的模式:1【机选】===== 2【手选】");

        String  num=input.next();

        //利用parseInt转换为数字

        int  temp=Integer.parseInt(num);

        if(temp==1){

            System.out.println("请选择注数");

            int zhu=input.nextInt();

            Jixuan(zhu);

 

        }else if(temp==2){//则证明是手选

 

        }

    }

    //系统随机生成的中奖号码

    public  static HashSet Meth(){

 

        Random ran = new Random();

        HashSet<Integer>  hong = new HashSet<Integer>();

        while(hong.size()<6) {

            int hongqiu=ran.nextInt(33)+1;

            hong.add(hongqiu);

        }

 

        System.out.print("系统生成的红球号码是:  ");

        //第一处---------------------排序输出----------------------------

       //把红球放入集合返回

        TreeSet treeSet = new TreeSet();

        treeSet.addAll(hong);

        System.out.print(treeSet);

        lanqiu1= ran.nextInt(16) + 1;

 

        /*---------    for(Integer i:hong) {

                System.out.print(i+" ");

          } -----------------------*/

        System.out.print("系统生成的篮球号码是: ");

        System.out.print(lanqiu1+"");

        return hong;

    }

    // 用户随机生成的中奖的号码

    public  static HashSet Jixuan(int zhushu){

        //求两个集合中相同的元素

        HashSet hashSethong = new HashSet();//-----------用于每次返回的集合

        int blue[]=new int[zhushu];//定义数组用于存储蓝色球

        for(int i=0;i<zhushu;i++){

 

            Random ran = new Random();

            HashSet<Integer> jihong = new HashSet<Integer>();

            while(jihong.size()<6){

                int hongqiu=ran.nextInt(33)+1;

                jihong.add(hongqiu);

            }

            int lanqiu=ran.nextInt(16)+1;

            System.out.print("第"+(i+1)+"次随机生成的红球号码是:  ");

 

            //------------------排序输出-------------------

            //不允许存放相同的元素,对元素进行排序

            TreeSet treeSet1 = new TreeSet();

            treeSet1.addAll(jihong);

            System.out.print(treeSet1);

 

 

               /* for(Integer s:jihong) {

                    System.out.print(s+" ");

                }*/

            System.out.print(" 随机生成的篮球号码是: ");

            System.out.print(lanqiu+"");

            System.out.println();

            blue[i] = lanqiu;

            //把红球给集合

            hashSethong=jihong;

            //----------清空--------------

            result(jihong,Meth(),blue[i]);

            jihong.clear();

 

        }

 

        return null;

    }

    //是否中奖?

    public static void  result(HashSet<Integer> set1,HashSet<Integer> set2,int blue) {

      ////求两个集合中相同的元素

        HashSet sameSet = new HashSet();

        for (Integer integer :set1){

            //判断是否包含

            if (set2.contains(integer)){

                sameSet.add(integer);

            }

        }

        //反回红球的个数

        int rowredsum=sameSet.size();

        //篮球

        int rowbluesum = 0;

        if(blue==lanqiu1){

            rowbluesum=1;

        }

        System.out.print("\n本次红球中了"+rowredsum+"个,"+"中的号码是:"+sameSet);

        System.out.print("\n本次蓝球中了"+rowbluesum+"个,"+"中的号码是:"+rowbluesum);

        if (rowredsum == 6 && rowbluesum == 1) {

            System.out.print("-----恭喜您中了【一等奖】-------");

        }

        else if (rowredsum == 6 && rowbluesum == 0) {

            System.out.println("-----恭喜您中了【二等奖】-------");

        }

        else if (rowredsum == 5 && rowbluesum == 1) {

            System.out.println("-----恭喜您中了【三等奖】-------");

        }

        else if ((rowredsum==5&&rowbluesum==0)||(rowredsum==4&&rowbluesum==1))

        {

            System.out.println("-----恭喜您中了【四等奖】-------");

        }

        else if ((rowredsum==4&&rowbluesum==0)||(rowredsum==3&&rowbluesum==1))

        {

            System.out.println("-----恭喜您中了【五等奖】-------");

        }

        else if ((rowredsum==2&&rowbluesum==1)||(rowredsum==1&&rowbluesum==1)||(rowredsum==0&&rowbluesum==1))

        {

            System.out.println("-----恭喜您中了【六等奖】-------");

        }

        else

        {

            System.out.println("-----很遗憾,您没有中奖,在接在励-------");

        }

 

 

    }

}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: