模拟双色球抽奖系统

本文记录了笔者使用Java语言完成的双色球模拟抽奖系统,写出来为了自己玩玩一乐,但是页面有点丑丑的(也不知道是不是因为自己写的缘故,老能中奖hhh)。

题目:双色球抽奖系统

投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1-33中选择,蓝色球号码从1-16中选择,详细中奖如下图所示。

package primarygrammer;

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

public class Huiwen {
	
	public static void main(String[] args)
	{
		//1.生成中奖号码
		int[] arr = createNumber();
		
		//2.用户输入彩票号码
		int[] userArr = userInputNumber();
		System.out.println("*******************************************************");
		System.out.println("您输入的号码分别为:");
		for(int i = 0; i<userArr.length; i++)
		{
			System.out.print(userArr[i]+" ");
		}
		System.out.println();
		
		//3.验证是否中奖
		int redCount=0;
		int blueCount=0;
		for(int i = 0; i<userArr.length-1; i++)
		{
			int redNumber = userArr[i];
			for(int j =0 ; j<arr.length-1 ;j++)
			{
				if(redNumber == arr[j]) {
					redCount++;
					break;
				}
			}
		}
		if(userArr[userArr.length-1] == arr[arr.length-1])
		{
			blueCount++;
		}
		System.out.println("*******************************************************");
		System.out.println("恭喜您的红色球中"+ redCount +"个");
		System.out.println("恭喜您的蓝色球中"+ blueCount +"个");
		anwards(redCount,blueCount);
		System.out.println("*******************************************************");
		System.out.println("本期中奖号码为:");
		for(int i = 0; i<arr.length;i++)
		{
			System.out.print(arr[i]+" ");
		}
	}
	
	
	public static int[] createNumber() {
		int[] arr = new int[7];
		Random r = new Random();
		for(int i =0; i<6 ; )
		{
			int redNumber = r.nextInt( 33 )+1;
			boolean flag = contains(arr,redNumber);
			if(!flag) {
				arr[i]=redNumber;
				i++;//好巧妙的把i++放到这里,如果重复生成的话就继续重新生成,结束不了循环
			}
		}
		int blueNumber = r.nextInt(16)+1;
		arr[arr.length-1] = blueNumber;
		return arr;
	}
	
	//检查红色号码是否重复
	public static boolean contains(int[] arr, int number)
	{
		for(int i = 0; i<arr.length ; i++)
		{
			if(arr[i]==number) {
				return true;
			}
		}
		return false;
	}
	
	public static int[] userInputNumber()
	{
		int[] arr = new int[7];
		Scanner sc = new Scanner(System.in);
		for(int i =0 ;i<6 ; )
		{
			System.out.print("请输入第" + (i+1) + "个红球号码:");
			int redNumber = sc.nextInt();
			if(redNumber>=1 && redNumber<=33) {
				boolean flag = contains(arr,redNumber);
				if(!flag)
				{
					arr[i] = redNumber;
					i++;
				}
				else
				{
					System.out.print("当前红球号码已经存在,");
				}
			}
			else
			{
				System.out.print("当前红球号码超出范围,");
			}
			
		}
		System.out.print("请输入篮球号码:");
		while(true) {
		int blueNumber = sc.nextInt();
		if(blueNumber>=1 && blueNumber<=16)
		{
			arr[6] = blueNumber;
			break;
		}
		else
		{
			System.out.print("当前篮球号码超出范围,请重新输入:");
		}
		}
		return arr;
	}
	
	public static void anwards(int redNumber,int blueNumber)
	{
		if(blueNumber==1)
		{
			switch(redNumber)
			{
			case 0:
				System.out.println("很遗憾,您没有中奖。");
				break;
			case 1:
				System.out.println("恭喜您获得奖金5元!");
				break;
			case 2:
				System.out.println("恭喜您获得奖金5元!");
				break;
			case 3:
				System.out.println("恭喜您获得奖金10元!");
				break;
			case 4:
				System.out.println("恭喜您获得奖金200元!");
				break;
			case 5:
				System.out.println("恭喜您获得奖金3000元!");
				break;
			case 6:
				System.out.println("恭喜您获得奖金1000万元!");
				break;
				
			}
		}
		else
		{
			switch(redNumber)
			{
			case 0:
				System.out.println("很遗憾,您没有中奖。");
				break;
			case 1:
				System.out.println("恭喜您获得奖金5元!");
				break;
			case 2:
				System.out.println("很遗憾,您没有中奖。");
				break;
			case 3:
				System.out.println("恭喜您获得奖金10元!");
				break;
			case 4:
				System.out.println("恭喜您获得奖金10元!");
				break;
			case 5:
				System.out.println("恭喜您获得奖金200元!");
				break;
			case 6:
				System.out.println("恭喜您获得奖金500万元!");
				break;
		}
	}
	}
}

仅供参考啦,感谢观看ღ( ´・ᴗ・` )

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值