java实现双色球

该程序实现了一个简单的彩票模拟系统,用户可以输入6个红球和1个蓝球号码,系统随后生成一组随机中奖号码进行比对。通过判断红球和蓝球匹配情况,确定用户的中奖等级,从一等奖到六等奖不等。程序包含输入验证、随机数生成及中奖判断等功能。
摘要由CSDN通过智能技术生成
package com.day5;

import java.util.Random;
import java.util.Scanner;

public class HomeWork {
    public static void main(String[] args) {
        int[] ball = new int[7];
        int[] ball2 = new int[7];

        Scanner sc = new Scanner(System.in);
        Random r = new Random();

        System.out.println("请输入你想选择的号码:");
        System.out.println("温馨提示:红球可选择范围为:1~33(不能重复);蓝球可选择范围为1~16.");
        for (int i = 0; i <ball.length ; i++) {
            if (i==6){
                System.out.println("请输入你的蓝球号码:");
                ball[i] = sc.nextInt();
                break;
            }
            System.out.println("请输入你的第"+(i+1)+"个红球号码:");
            ball[i] = sc.nextInt();
        }
        System.out.println("你选择的号码为:");
        for( int i:ball){
            System.out.print(i+" ");
        }
        //随机出中奖号码
       /*
        for (int i = 0; i<ball2.length ;i++){
            if (i==6){
                ball2[i] = r.nextInt(16)+1;
            }
            int num = r.nextInt(33)+1;
            if (contains(ball2,num)){
                ball2[i] = num;
                continue;
            }
            i--;
        }
        */
        int index = 0;
        while (index<ball2.length){
            if (index==6){
                ball2[index] = r.nextInt(16)+1;
            }
            int num = r.nextInt(33)+1;
            if (contains(ball2,num)){
                ball2[index++] = num;
            }
        }

        System.out.println();
        System.out.println("中奖号码为:");
        for (int t:ball2){
            System.out.print(t+" ");
        }
        System.out.println();
        //判断是否中奖
        //先看红球
        int x = 0;
        int y = 0;
        for (int i = 0; i < ball.length-1; i++) {
            for (int j = 0; j < ball2.length; j++) {
                if (ball[i]==ball2[j]){
                    x++;
                }
            }
        }
        //判断蓝球
        if(ball[6]==ball2[6]){
            y++;
        }
        //得出结果
        if(x==6&&y==1){
            System.out.println("恭喜你中了一等奖!奖金1000000000000000");
            return;
        }
        else if (x==6&&y==0){
            System.out.println("恭喜你中了二等奖!奖金100000000");
            return;
        }
        else if (x==5&&y==1){
            System.out.println("恭喜你中了三等奖!奖金10000");
            return;
        }
        else if ((x==4&&y==1)||(x==5&&y==0)){
            System.out.println("恭喜你中了四等奖!奖金1000");
            return;
        }
        else if ((x==3&&y==1)||(x==4&&y==0)){
            System.out.println("恭喜你中了五等奖!奖金100");
            return;
        }
        else if (y==1){
            System.out.println("恭喜你中了六等奖!奖金10");
            return;
        }
        else {
            System.out.println("很遗憾您未中奖!");
        }


    }

    private static boolean contains(int[] arr, int key) {
        for (int i = 0; i < arr.length; i++) {
            if (arr[i]==key){
                return false;
            }
        }
        return true;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值