package Suangseq;
//双色球游戏制作。
import java.awt.SystemColor;
import java.util.Arrays;
import java.util.Scanner;
public class TextA {
public static void main(String[] args) {
boolean flag=false;//定义一个布尔类型的变量。
int[] my=null;//定义一个变量
int num=0;
while (true) {
System.out.println("*****欢迎进入双色球系统*****");
System.out.println("\t1.购买彩票");
System.out.println("\t2.查看开奖");
System.out.println("\t3.退出系统");
System.out.println("***************************");
System.out.println("请选择菜单:");
Scanner scanner=new Scanner(System.in);
int menu=scanner.nextInt();
switch (menu) {
case 1:
// System.out.println("购买彩票");
System.out.println("你需要下多少注?");
num=scanner.nextInt();//num中保存用户下注多少
my=userBuy();//接收用户输入信息的返回值。
System.out.println("你一共买了【"+num+"】注,共需要支付【"+(num*2)+"】元,所选号码为:"+Arrays.toString(my));
flag=true;//如果购买成功,就把flag赋值为true
break;
case 2:
if (flag) {//证明已经购买了彩票
// System.out.println("查看开奖");
int[] sys=sysNum();//获得系统产生的随机数号码
System.out.println("系统产生的:"+Arrays.toString(sys));
System.out.println("自己输入的:"+Arrays.toString(my));
compareA(sys, my,num);
flag=false;//进行开奖结束后需要把flag重新的赋值为false,否则可以无限开奖
}else {
System.out.println("请先购买彩票!!!");
}
break;
case 3:
System.out.println("谢谢使用该系统,请离开");
//直接关闭控制台,退出系统
// System.exit(status:0);
return;
default:
System.out.println("请输入正确的菜单编号!");
}
}
}
//用户输入的内容和系统随机产生的内容进行比较
public static void compareA(int[] sys,int[]my,int num) {
int redCount=0;
int blueCount=0;
//两个数组进行对比
//红球数量的对比
for (int i = 0; i < sys.length-1; i++) {
for (int j = 0; j < sys.length; j++) {
if (sys[i]==my[j]) {
redCount++;
}
}
}
//篮球内容对比
if (sys[6]==my[6]) {
blueCount++;
}
System.out.println("红球相同个数:"+redCount+",篮球相同个数:"+blueCount);
//根据红球,篮球个数进行结果比较。
if (redCount==6&&blueCount==1) {
System.out.println("恭喜你中奖:"+(1000*num)+"万");
} else if(redCount==6){
System.out.println("恭喜你中奖:"+(500*num)+"万");
}else if(redCount==5&&blueCount==1){
System.out.println("恭喜你中奖:"+(3000*num));
}else if(redCount==5||(redCount==4&&blueCount==1)){
System.out.println("恭喜你中奖:"+(200*num));
}else if(redCount==4||(redCount==3&&blueCount==1)){
System.out.println("恭喜你中奖:"+(10*num));
}else if(blueCount==1){
System.out.println("恭喜你中奖:"+(5*num));
}else {
System.out.println("倒霉鬼没有中奖!!!");
}
}
//用户购买的方法
public static int[] userBuy(){
Scanner scanner=new Scanner(System.in);
int[] my=new int[7];//用于保存自己输入的号码
//用户输入的6个红球
for (int i = 0; i < 6; i++) {
System.out.println("请输入6个红球号码(数字是:1-33),第"+(i+1)+"个红球为:");
int red = scanner.nextInt();//用户输入每一个红球数字
//将输入的红球存到数组
if (red<=33&&red>=1) {
my[i]=red;
}else{
System.out.println("请输入正确号码!!!");
i--;//用户输入错误i,一定减掉,保持输入红球次数为6
}
}
while (true) {
//用户单独输入一个篮球
System.out.println("请输入一个篮球号码(数字为1-16):");
int blue=scanner.nextInt();
//把用户输入的值保存到数组最后一个位置
if (blue>=1&&blue<=16) {
my[6]=blue;
break;
}
}
return my;
}
//把系统随机产生的号码,依次保存到int数组中
public static int[] sysNum() {
//系统随机产生7位数字(前6位是1-33,最后一位是1-16)
int[] sys=new int[7];
for (int i = 0; i < 6; i++) {
int ran=(int)(Math.random()*33)+1;//每次产生一个随机数
sys[i]=ran;
}
//最后一位随机数字
sys[6]=(int)(Math.random()*16)+1;
return sys;
}
}