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;
??????
?????? }
}
?