雙色球彩票系統:
需求:投注號碼由6個紅色號碼和1個藍色球號碼組成。紅色球號碼從1-33中選擇,藍色球號碼從1-16當中選擇 * 紅 藍 * 一等獎 6 1 * 二等獎 6 0 * 三等獎 5 1 * 四等獎 5 0 * 4 1 * 五等獎 4 0 * 3 1 * 2 1 * 六等獎 1 1 * 0 1
分別給自定義自己的每種獎項,給予不同的現金獎勵!!!!
package demo;import java.util.Random;
import java.util.Scanner;/*
* 案例:雙色球彩票系統
* 需求:投注號碼由6個紅色號碼和1個藍色球號碼組成。紅色球號碼從1-33中選擇,藍色球號碼從1-16當中選擇
* 紅 藍
* 一等獎 6 1
* 二等獎 6 0
* 三等獎 5 1
* 四等獎 5 0
* 4 1
* 五等獎 4 0
* 3 1
* 2 1
* 六等獎 1 1
* 0 1
* */
public class UnionLottoLotteryTicket {public static void main(String[] args) {//1.隨機生成7個中獎號碼int [] arrprize = createNumber();System.out.println("==========================");for (int i = 0; i < arrprize.length; i++) {System.out.print(arrprize[i]+" ");}System.out.println("\n"+"==========================");//2.讓用戶去輸入彩票號碼int [] arrUser =UserInputNumber();//3.判斷中獎的情況int redcount = 0;int bluecount = 0;//判斷紅球的中獎情況for (int j = 0; j < arrprize.length-1; j++) {int rednumber = arrUser[j];for (int k = 0; k < arrprize.length - 1;k++ ) {if(rednumber == arrprize[k]){redcount++;//如果找到就判斷下個紅球號碼是否中獎break;}}}//判斷籃球的中獎情況while (true) {int bluenumber = arrUser[arrUser.length-1];if(bluenumber == arrprize[arrprize.length-1]){bluecount++;break;}}//判斷是否中獎if(redcount==6&&bluecount==1){System.out.println("恭喜你中獎1000萬元");}else if(redcount == 6&&bluecount==0){System.out.println("恭喜你中獎500萬元");}else if(redcount == 5&&bluecount == 1){System.out.println("恭喜你中獎3000元");}else if((redcount==5&&bluecount==0)||(redcount==4&&bluecount==1)||(redcount==4&&bluecount==0)){System.out.println("恭喜你中獎200元");}else if(((redcount==3&&bluecount==1)||(redcount==2&&bluecount==1))){System.out.println("恭喜你中獎10元");}else if(((redcount==1&&bluecount==1)||(redcount==0&&bluecount==1))){System.out.println("恭喜你中獎5元");}else {System.out.println("謝謝參與,謝謝惠顧!");}}/** 隨機創建7個中獎號碼* */public static int[] createNumber(){//聲明數組去保存獲獎的號碼有7個好中獎號碼int [] arr = new int[7];//先獲取紅球的獲獎號碼Random r = new Random();for (int i = 0; i < arr.length -1; ) {//能取大不取小所以需要加1int redNumber= r.nextInt(33)+1;boolean flag = contains(arr,redNumber);if(!flag){arr[i] = redNumber;i++;}}//隨機生成籃球的中獎號碼int blueNumber = r.nextInt(16)+1;arr[arr.length-1] = blueNumber;return arr;}/** 判斷紅球有沒有重復被抽到過* */public static boolean contains(int [] arr,int number){for (int i = 0; i < arr.length; i++) {if(arr[i] == number){return true;}}return false;}/** 輸入用戶購買的彩票* */public static int[] UserInputNumber(){//聲明數組去保存7個彩票號碼int [] arr = new int[7];Scanner sc = new Scanner(System.in);//輸入用戶的紅球號碼for (int i = 0; i < arr.length-1;) {System.out.println("請輸入您的第"+(i+1)+"個號碼");int tempred = sc.nextInt();if(tempred>=1&&tempred<=33){boolean flag = contains(arr,tempred);if(!flag){arr[i] = tempred;i++;}else {System.out.println("您輸入的號碼已經存在請重新輸入");}}else{System.out.println("您輸入的號碼有誤,請重新輸入");}}//輸入用戶的籃球號碼System.out.println("請輸入籃球號碼:");while (true) {int tempblue = sc.nextInt();if(tempblue>=1&&tempblue<=16){arr[arr.length-1] = tempblue;break;}else{System.out.println("您輸入的號碼有誤,去重新輸入");}}return arr;}}
運行結果:
?