双色球彩票系统升级版

彩票系统

  1、提醒“欢迎进入***抽奖系统”  双色球
  请选择:

  1. 充值
  2. 查看账户资金
  3. 开始购买彩票
  4. 开奖 
  5. 查看当前购买的彩票
  6. 退出系统

  2、充值  用户自己录入充值金额,显示充值之后账户资金
  3、开始购买彩票      
  ​   购买彩票注数  10  【共7位,前6位1-32,第七位是1-16】
    一注【1,2,5,8,20,32,16】不能重复且前6位从小到大有序
     验证当前账户资金是否充足?一注2块
    1)自选彩票   自己录入7个数值 
    2)机选   随机生成彩票  随机给用户出彩票,用户资金减少
  4、开奖   随机产生一注彩票,然后和用户的彩票数组比对,
    如果红色球有三个相同/或者一个蓝球,中5元
    如果红色球3个+1个蓝色球,中10元
    如果红色球4个,中20
    如果四个红色球+1个蓝色球,中200
    如果5个红色球,中1000
    如果5个红色球+1个蓝色球,中2万
    如果6个红色球,中红10万
    如果6个红色球+1个蓝色球,中500万
    账户余额更新

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

public class Lottery {
	public static void main(String[] args) {
		System.out.println("====欢迎光临Cheat彩票系统====");
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in);
		Random r = new Random();
		boolean flag = true;
		double balance = 0.0; // 余额
		double sumMoney = 0.0; // 花费金额
		int[][] lottery = null; // 自己买的彩票
		int[] raffle = null; // 开奖彩票
		int sum = 0; // 单注红球相同数
		int sum2 = 0; // 单注蓝球相同数
		int sum3 = 0; // 单注的中奖金额
		int[] s = null; // 所有注红球相同情况
		int[] s2 = null; // 所有注蓝球相同情况
		int[] bonus = null; // 单注中奖金额
		double sumBonus = 0.0; // 所有注中奖金额
		while (flag == true) {
			System.out.println("请选择菜单:1.充值   2.看账户资金   3.开始购买彩票  4.开奖   5.查看当前购买的彩票  6.退出系统");
			int id = sc.nextInt();
			switch (id) {
			case 1:
				// 充值
				System.out.println("请输入充值金额:");
				double recharge = sc.nextDouble();
				if (recharge > 0) {
					balance += recharge;
					System.out.println("充值成功!");
				}
				break;
			case 2:
				// 查看账户资金
				System.out.println("卡上余额:" + balance);
				break;
			case 3:
				// 开始购买彩票
				double money = 2.0;
				System.out.println("请输入您要购买的彩票注数:");
				int num = sc.nextInt();
				sumMoney = money * num;
				if (balance >= sumMoney) {
					balance -= sumMoney;
					System.out.println("花费" + sumMoney + "余额为:" + balance);
				} else {
					System.out.println("余额不足,请充值!");
					break;
				}
				lottery = new int[num][7];
				System.out.println("选择彩票方式:自选输入0,机选为1.");
				int no = sc.nextInt();
				// 自选彩票
				if (no == 0) {
					System.out.println("请输入您的彩票号码(不能重复):");
					for (int i = 0; i < lottery.length; i++) {
						for (int j = 0; j < lottery[i].length; j++) {
							lottery[i][j] = sc.nextInt();
						}
						sc.nextLine();
					}
					// 对彩票的红球进行升序排列
					for (int i = 0; i < lottery.length; i++) {
						if (i == 0) {
							for (int j = 0; j < lottery[0].length - 2; j++) {
								for (int k = 0; k < lottery[0].length - 2; k++) {
									if (lottery[0][k] > lottery[0][k + 1]) {
										int temp = lottery[0][k];
										lottery[0][k] = lottery[0][k + 1];
										lottery[0][k + 1] = temp;
									}
								}
							}
						} else {
							for (int j = 0; j < lottery[i - 1].length - 2; j++) {
								for (int k = 0; k < lottery[i - 1].length - 2; k++) {
									if (lottery[i][k] > lottery[i][k + 1]) {
										int temp = lottery[i][k];
										lottery[i][k] = lottery[i][k + 1];
										lottery[i][k + 1] = temp;
									}
								}
							}
						}
					}
				}
				// 机选彩票
				if (no == 1) {
					System.out.println("正在为您机选号码,请稍等!");
					for (int i = 0; i < lottery.length; i++) {
						for (int j = 0; j < lottery[i].length - 1; j++) {
							lottery[i][j] = r.nextInt(32) + 1;
							for (int k = 0; k < j; k++) {
								if (lottery[i][j] == lottery[i][k]) {
									j--;
									break;
								}

							}
						}
						lottery[i][6] = r.nextInt(16) + 1;
					}
					// 对彩票的红球进行升序排列
					for (int i = 0; i < lottery.length; i++) {
						if (i == 0) {
							for (int j = 0; j < lottery[0].length - 2; j++) {
								for (int k = 0; k < lottery[0].length - 2; k++) {
									if (lottery[0][k] > lottery[0][k + 1]) {
										int temp = lottery[0][k];
										lottery[0][k] = lottery[0][k + 1];
										lottery[0][k + 1] = temp;
									}
								}
							}
						} else {
							for (int j = 0; j < lottery[i - 1].length - 2; j++) {
								for (int k = 0; k < lottery[i - 1].length - 2; k++) {
									if (lottery[i][k] > lottery[i][k + 1]) {
										int temp = lottery[i][k];
										lottery[i][k] = lottery[i][k + 1];
										lottery[i][k + 1] = temp;
									}
								}
							}
						}
					}
				}

				break;
			case 4:
				// 开奖
				raffle = new int[7];
				for (int i = 0; i < raffle.length; i++) {
					if (i < raffle.length - 1) {
						raffle[i] = r.nextInt(32) + 1;
						for (int j = 0; j < i; j++) {
							if (raffle[i] == raffle[j]) {
								i--;
								break;
							}
						}
					} else {
						raffle[i] = r.nextInt(16) + 1;
					}
				}
				for (int i = 0; i < raffle.length - 2; i++) {
					for (int j = 0; j < raffle.length - 2 - i; j++) {
						if (raffle[j] > raffle[j + 1]) {
							int temp = raffle[j];
							raffle[j] = raffle[j + 1];
							raffle[j + 1] = temp;
						}
					}
				}
				System.out.println(Arrays.toString(raffle));
				break;
			case 5:
				// 查看中奖情况
				if (lottery == null) {
					System.out.println("未购买彩票,请先购买彩票!");
				} else if (raffle == null) {
					System.out.println("未开奖,请等待开奖!");
				} else {
					System.out.println("开奖号:");
					System.out.println(Arrays.toString(raffle));
					System.out.println("购买的彩票:");
					// 将所有注红球中奖情况放入一个数组内
					s = new int[lottery.length];
					for (int i = 0; i < lottery.length; i++) {
						sum = 0;
						for (int j = 0; j < lottery[i].length - 1; j++) {
							for (int k = 0; k < raffle.length - 1; k++) {
								if (lottery[i][j] == raffle[k]) {
									sum++;
								}
							}
						}
						s[i] = sum;
						System.out.println(Arrays.toString(lottery[i]));
					}
					// 将所有注蓝球中奖情况放入一个数组内
					s2 = new int[lottery.length];
					for (int i = 0; i < lottery.length; i++) {
						sum2 = 0;
						if (lottery[i][6] == raffle[6]) {
							sum2++;
						}
						s2[i] = sum2;
					}
					System.out.println("  ");
					System.out.println("红球中奖数:");
					System.out.println(Arrays.toString(s));
					System.out.println("蓝球中奖数:");
					System.out.println(Arrays.toString(s2));
					 将所有注中奖金额放入一个数组(bonus)内
					bonus = new int[lottery.length];
					for (int i = 0; i < s.length; i++) {
						sum = 0;
						if ((s[i] == 3 && s2[i] == 0) || (s[i] < 3 && s2[i] == 1)) {
							sum3 = 5;
						} else if (s[i] == 3 && s2[i] == 1) {
							sum3 = 10;
						} else if (s[i] == 4 && s2[i] == 0) {
							sum3 = 20;
						} else if (s[i] == 4 && s2[i] == 1) {
							sum3 = 200;
						} else if (s[i] == 5 && s2[i] == 0) {
							sum3 = 1000;
						} else if (s[i] == 5 && s2[i] == 1) {
							sum3 = 20000;
						} else if (s[i] == 6 && s2[i] == 0) {
							sum3 = 100000;
						} else if (s[i] == 6 && s2[i] == 1) {
							sum3 = 5000000;
						} else {
							sum3 = 0;
						}
						bonus[i] = sum3;
					}
					System.out.println("单注中奖金额:");
					System.out.println(Arrays.toString(bonus));
					// 所有注总共中奖金额
					for (int i = 0; i < bonus.length; i++) {
						sumBonus += bonus[i];
					}
					System.out.println("您一共中奖" + sumBonus + "元!");
				}
				balance += sumBonus;
				break;
			case 6:
				// 退出系统
				System.out.println("退出成功!欢迎下次光临!");
				flag = false;
				break;
			default:
				System.out.println("录入指令错误!请重新录入1~6的指令:");
				break;
			}
		}
	}
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wen先森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值