模拟双色球java基本语法练习

模拟双色球java基本语法练习,第1张

模拟双色球java基本语法练习
import java.util.Random;
import java.util.Scanner;

public class shuangseqiu {
    public static void main(String[] args){
        int[] lucknumbers=new int[7];
        //调用函数生成幸运号码
        lucknumbers=creatluckycode();
        //提示用户输入号码,并存入数组
        int[] usernumbers=new int[7];
        usernumbers=getnusercode();
        //输出幸运号码
        System.out.println("本期幸运号码是:");
        outputArray(lucknumbers);
        //输出用户录入的号码
        outputArray(usernumbers);
        //判断用户中奖情况并输出结果
        judgeuesr(lucknumbers,usernumbers);
    }
    //主函数
    public static int[] creatluckycode(){
        //生成6个不重复的红球号码
        int[] number=new int[7];
        Random r=new Random();
        for (int i = 0; i < number.length-1; i++) {
            while (true){
                int data= r.nextInt(33)+1;//注意:设定生成随机数的范围
                boolean flag=true;
                for (int j = 0; j < i; j++) {
                    if (data==number[j]){
                        flag=false;     //重复 这个随机数不可用
                        break;
                    }

                }
                if (flag){
                    number[i]=data;
                    break;
                }
                //易错点:注意break所在的层次!!!!
            }
        }
        //生成一个蓝球号码
        int bluedata= r.nextInt(16)+1;
        number[number.length-1]=bluedata;
        return number;
        }
    public static int[] getnusercode(){
        Scanner sc=new Scanner(System.in);
        int[] number=new int[7];
        //录入红球号码
        for (int i = 0; i < number.length-1; i++) {
            System.out.println("请您输入第"+(i+1)+"个红球号码,范围在1-33");
            number[i]=sc.nextInt();
        }
        //录入蓝球号码
        System.out.println("请输入篮球号码,范围在1-16");
        number[number.length-1]= sc.nextInt();
        return number;
    }
    public static void outputArray(int[] array){
        System.out.print("[");
        for (int i = 0; i < array.length-1; i++) {
            System.out.print(array[i]+", ");
        }
        System.out.print(array[array.length-1]);
        System.out.println("]");
    }
    public static void judgeuesr(int[]luckycode,int[]usercode){
        //判断红球命中数量
        int redhitaccount=0;
        for (int i = 0; i < usercode.length-1; i++) {
            for (int j = 0; j < luckycode.length-1; j++) {
                if (usercode[i]==luckycode[j]){
                    redhitaccount+=1;
                }

            }
        }
        //判断蓝球命中数量
        int bluehitaccount=luckycode[luckycode.length-1]==usercode[usercode.length-1]?1:0;
        //中奖情况判断
        if(bluehitaccount==1&&redhitaccount<3){
            System.out.println("您获得五元小奖。");
        }else if (bluehitaccount==1&&redhitaccount==3||bluehitaccount==0&&redhitaccount==4){
            System.out.println("恭喜你获得十元小奖。");
        }else if (bluehitaccount==1&&redhitaccount==4||bluehitaccount==0&&redhitaccount==5){
            System.out.println("恭喜你获得两百元!");
        }else if (bluehitaccount==1&&redhitaccount==5){
            System.out.println("恭喜你获得三千元!!!");
        }else if (bluehitaccount==0&&redhitaccount==6){
            System.out.println("你获得500万大奖!");
        }else if (bluehitaccount==1&&redhitaccount==6){
            System.out.println("你活得一千万大奖!");
        }else {
            System.out.println("很遗憾,未中奖。");
        }
    }
}

在本次练习中注意利用while(true)死循环,并且注意break的层次。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5695746.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存