import java.util.Scanner;
class SsqGame5 {
public static void main(String[] args) {
int totalMoney = 0;//下注总费用
int price = 2;//双色球单价每注2元
int count =0;//够买的注数
boolean isBuy = false;//标识是否购买了彩票
int num[]=null;//存储双色球号码
Scanner input = new Scanner(System.in);
do {
System.out.println("");
System.out.println("*****欢迎进入双色球彩票系统*****");
System.out.println("\t1.购买彩票");
System.out.println("\t2.查看中奖");
System.out.println("\t3.退出");
System.out.println("********************************");
System.out.print("请选择菜单:");
int choice =input.nextInt();
switch (choice) {
case 1://购买彩票
System.out.println("[双色球彩票系统]>购买彩票");
System.out.println("您需要下多少注:");
count = input.nextInt();//买了多少注
totalMoney = count*price;//总下注花的钱数
//开始选号(6红球1篮球)
num=new int[7];//用来存储双色球号(6红+1蓝)
for (int i=0;i<num.length ;i++ ) {
int red;//输入的红球数
int blue;//输入的蓝球数
if (i<num.length-1) {//选红色
System.out.println("请输入6个红球数字(在1-33之间),第【"+(i+1)+"】个红球号为:");
red=input.nextInt(33);
num[i]=red;//将红号放入数组num中
}else{//选蓝色
System.out.println("请输入1个蓝球数字(在1-16之间):");
blue=input.nextInt(16);
num[i]=blue;//将蓝号放入数组num中
}
}
//输出已经买好的彩票信息
System.out.print("您一共买了【"+count+"】注,供需支付【"+totalMoney+"】元,所选择的号码为:");
for (int i=0;i<num.length ;i++ ) {
System.out.print(num[i]+"\t");
}
System.out.println();//换行输出
isBuy = true;//成功购买双色球彩票,标志位设置为true
break;
case 2:
System.out.println("[双色球彩票系统>查看开奖]");
if (isBuy) {//判断是否购买了彩票
//开奖后须重新购买
isBuy=false;
//调用getLuckNum方法得到一个随机中奖号
int luckNum[]=getLuckNum();
//输出你已经买的彩票号
System.out.print("已经买到的彩票号码为:");
for (int n:num) {
System.out.print(n+"\t");
}
System.out.println();//换行
//输出当期的中奖号
System.out.print("当期的中奖号码为:");
for (int n:luckNum) {
System.out.print(n+"\t");
}
System.out.println();//换行
//判断获奖等级
int result=getCompareResult(num,luckNum);
//根据获奖等级输出结果
if (result==1) {
System.out.println("【一等奖】");
}else if (result==2) {
System.out.println("【二等奖】");
}else if (result==3) {
System.out.println("【三等奖】");
}else if (result==4) {
System.out.println("【四等奖】");
}else if (result==5) {
System.out.println("【五等奖】");
}else if (result==6) {
System.out.println("【六等奖】");
}else{
System.out.println("【谢谢惠顾】");
}
}else{
System.out.println("请先购买彩票,再查看开奖情况!");
}
break;
case 3:
System.out.println("谢谢使用");
return;
default:
System.out.println("输入有误");
}
}while (true);
}
//随机生成一个中奖号码
public static int[]getLuckNum(){
int luckNum[]=new int[7];
for (int i=0;i<luckNum.length ;i++ ) {
if (i<luckNum.length-1) {//红球
luckNum[i]=(int)(Math.random()*33)+1;//生成一个1-33的整数
}else{//篮球
luckNum[i]=(int)(Math.random()*16)+1;//生成一个1-16的整数
}
}
return luckNum;
}
//计算获奖等级
public static int getCompareResult(int num[],int luckNum[]){
int luckLevel=0;//中奖等级1-6
int redEqualCount=0;//红球相等数量
int blueEqualCount=0;//篮球相等数量
//将自己的彩票号码与之比较
for (int i=0;i<num.length;i++ ) {
if (i<num.length-1) {
//比较红球
int r=num[i];
for (int j=0;j<luckNum.length-1 ;j++ ) {
if (r==luckNum[j]) {
redEqualCount++;
}
}
}else{
if (num[num.length-1]==luckNum.length-1) {
blueEqualCount++;
}
}
}
if (redEqualCount==6&&blueEqualCount==1) {
luckLevel=1;
}else if(redEqualCount==6){
luckLevel=2;
}else if(redEqualCount==5&&blueEqualCount==1){
luckLevel=3;
}else if(redEqualCount==5||(redEqualCount==4&&blueEqualCount==1)){
luckLevel=4;
}else if(redEqualCount==4||(redEqualCount==3&&blueEqualCount==1)){
luckLevel=5;
}else if(blueEqualCount==1){
luckLevel=6;
}
return luckLevel;
}
}