package com.bjsxt.sxt504;
import java.util.Scanner;//导包
public class Lottery_SunTao {
/**
* 买彩票判断是否中奖,中奖后判断是几等奖 双色球投注区分为红色球号码区和蓝色球号码区,
* 红色球号码区由1-33共33个号码组成,蓝色球号码区由1-16共16个号码组成。
* 投注时选择6个红球号码和1个蓝球号码组成一注进行单式投注,每注金额2元。 一等奖:投注号码与当期开奖号码全部相同(顺序不限,下同),即中奖;
* 二等奖:投注号码与当期开奖号码中的6个红色球号码相同,即中奖; 三等奖:投注号码与当期开奖号码中的任意5个红色球号码和1个蓝色球号码相同,即中奖;
* 四等奖:投注号码与当期开奖号码中的任意5个红色球号码相同,或与任意4个红色球号码和1个蓝色球号码相同,即中奖;
* 五等奖:投注号码与当期开奖号码中的任意4个红色球号码相同,或与任意3个红色球号码和1个蓝色球号码相同,即中奖;
* 六等奖:投注号码与当期开奖号码中的1个蓝色球号码相同,即中奖。 显示中奖结果的同时显示您一共下注人民币??元,累计中奖人民币??元
*
*/
// 程序入口
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int price = 2;// 一注的单价
int count = 0;// 购买了多少注
int totalMoney = 0;// 共需支付的金额
// 定义一个 数组长度为7 用来存储你购买的彩票的号码
int[] yourNum = new int[7];
// 定义数组长度为7 用来存储当期中奖号码
int[] luckNum = new int[7];
boolean isBuy = false; // 默认没有购买彩票
while (true) {
// 打印界面
System.out.println("\n======================欢迎进入双色球彩票系统=======================");
System.out.println("\t\t\t1.购买彩票");
System.out.println("\t\t\t2.查看开奖");
System.out.println("\t\t\t3.退出");
System.out.println("==================================================================");
// 请选择菜单
System.out.println("请选择菜单:");
int choice = input.nextInt();
switch (choice) {
case 1:
// 购买彩票
System.out.println("<双色球系统>购买彩票\n");
System.out.println("您需要购买多少注?");
count = input.nextInt();
totalMoney = price * count;
for (int i = 0; i < yourNum.length; i++) {
if (i < yourNum.length - 1) {
System.out.println("请选择6个红球的号码(数字1--33),第【" + (i + 1) + "】个红球号码为:");
yourNum[i] = input.nextInt();
} else {
System.out.println("请选择1个蓝球的号码(数字1--16):");
yourNum[i] = input.nextInt();
}
}
System.out.print("你所选的号码为:");
// 遍历所选择的号码
print(yourNum);
System.out.println("您共买了【" + count + "】注,共需支¥" + totalMoney + "元.");
isBuy = true;// 购买成功 改变购买状态
break;
case 2:
// 查看开奖
System.out.println("<双色球系统>查看开奖\n");
if (isBuy) {// 判断是否购买
System.out.print("您已购买的彩票号为:\t");
// 遍历
print(yourNum);
System.out.print("当期中奖的彩票号为:\t");
// 获取中奖号码
luckNum = getValue(luckNum);
// 遍历
print(luckNum);
// 查看中奖情况
int grade = getLuckLevel(yourNum, luckNum);// 获奖等级
if (grade == 1) {
System.out.println("恭喜您!!!获得【一等奖】,你共买了【" + count + "】注,投资人民币【" + totalMoney + "】元,获奖【"
+ 500 * count + "】万元");
} else if (grade == 2) {
System.out.println("恭喜您!!!获得【二等奖】,你共买了【" + count + "】注,投资人民币【" + totalMoney + "】元,获奖【"
+ 200 * count + "】万元");
} else if (grade == 3) {
System.out.println("恭喜您!!!获得【三等奖】,你共买了【" + count + "】注,投资人民币【" + totalMoney + "】元,获奖【"
+ 50 * count + "】万元");
} else if (grade == 4) {
System.out.println("恭喜您!!!获得【四等奖】,你共买了【" + count + "】注,投资人民币【" + totalMoney + "】元,获奖【"
+ 3000 * count + "】元");
} else if (grade == 5) {
System.out.println("恭喜您!!!获得【五等奖】,你共买了【" + count + "】注,投资人民币【" + totalMoney + "】元,获奖【"
+ 500 * count + "】元");
} else if (grade == 6) {
System.out.println("恭喜您!!!获得【六等奖】,你共买了【" + count + "】注,投资人民币【" + totalMoney + "】元,获奖【"
+ 10 * count + "】元");
} else {
System.out.println("未中奖!!!【下次努力】,你共买了【" + count + "】注,投资人民币【" + totalMoney + "】元,获奖【"
+ 00 * count + "】万元");
}
// 开奖后必须重新购买
isBuy = false;
} else {
System.out.println("请先购买彩票,在查看中奖情况!!!\n");
}
break;
case 3:
// 退出
System.out.println("谢谢使用");
return;// 退出死循环
default:
System.out.println("对不起您输入有误,请重新选择菜单\n");
}
}
}
// 定义遍历数组并打印的方法
public static void print(int[] array) {
for (int i : array) {
System.out.print(i + "\t");
}
System.out.println();
}
// 定义获取 随机数的 数组 成为当期中奖号码
public static int[] getValue(int[] array) {
for (int i = 0; i < array.length; i++) {
if (i < array.length - 1) {
// 随机产生 中奖的红球号码(1--33)
array[i] = (int) (33 * Math.random()) + 1;
} else {
// 随机产生 中奖的蓝球的号码(1-16)
array[i] = (int) (16 * Math.random()) + 1;
}
}
return array;
}
// 定义方法 获取中奖情况
public static int getLuckLevel(int[] yourNum, int[] luckNum) {
int luckLevel = 0;// 定义中奖等级
int redLuckCount = 0;// 统计红色球 相同的个数
int blueLuckCount = 0;// 统计蓝色球 相同的个数
// 拿自己所选的红球 和中奖号码一一比较,若号码相同,统计数加1,蓝色球同理
for (int i = 0; i < yourNum.length; i++) {
if (i < yourNum.length - 1) {
for (int j = 0; j < luckNum.length - 1; j++) {// 比较红球相同的个数
if (yourNum[i] == luckNum[j]) {
redLuckCount++;// 匹配成功红色中奖球加1
luckNum[j] = -1;// 号码
// 一旦匹配成功,将中奖号改为-1,避免买家全部买同一个号,一旦中奖将全中
}
}
} else {
if (yourNum[yourNum.length - 1] == luckNum[luckNum.length - 1]) {// 比较蓝色球
blueLuckCount++;// 匹配成功蓝色中奖球加1
}
}
}
// 根据红和篮球的中奖个数 ,判断中奖等级
if (redLuckCount == 6 && blueLuckCount == 1) {// 6个红球 1个蓝球全中
luckLevel = 1;
} else if (redLuckCount == 6) {// 中六个红球
luckLevel = 2;
} else if (redLuckCount == 5 && blueLuckCount == 1) {// 中5个红球和1个蓝球
luckLevel = 3;
} else if (redLuckCount == 5 || (redLuckCount == 4 && blueLuckCount == 1)) {// 中5个红球
// 或中4个红球和1个蓝球
luckLevel = 4;
} else if (redLuckCount == 4 || (redLuckCount == 3 && blueLuckCount == 1)) {// 中4个红球
// 或中3个红球和1个蓝球
luckLevel = 5;
} else if (blueLuckCount == 1) {// 蓝球中
luckLevel = 6;
}
return luckLevel;
}
}
双色球
最新推荐文章于 2020-08-28 17:19:07 发布