雙色球系統
案例:
中獎條件及獎金表

代碼及解釋
main方法代碼:
public static void main(String[] args) {
//1.隨機6個紅球號碼(1~33,不能重復),隨機一個藍球號碼(1~16)
int[] num = createLuckNumber();
// printArray(num);
// System.out.println();
//2.呼叫一個方法讓用戶輸入7個號碼,作為用戶選號
int[] userNums = userInputNumbers();
// printArray(userNums);
//3.判斷中獎情況
judge(num,userNums);
}
系統產生隨機雙色球號碼的代碼
public static int[] createLuckNumber() {
//a、定義一個動態初始化的陣列,存盤7個數字
int[] number = new int[7];
//b、遍歷陣列,為每個位置生成對應的號碼(注意只遍歷前6個不重復的紅球號碼,范圍1~33)
Random random = new Random();
for (int i = 0; i < number.length - 1; i++) {
//為當前位置找出不重復的6個不重復且符合范圍的數
while (true) {
int data = https://www.cnblogs.com/zhangyouren/p/random.nextInt(33) + 1;
//c、注意:必須判斷當前隨機的這個號碼之前是否出現過,出現過要重新隨機一個,知道不重復位置
// 定義一個flag變數,默認true是沒有重復的
boolean flag = true;
for (int j = 0; j < i; j++) {
if (number[j] == data) {
//data當前數字前面出現過,不能用并且對flag進行標記
flag = false;
break;
}
}
if (flag) {
//data當前值前面沒出現過
number[i] = data;
break;
}
}
}
// d.為第7個位置生成一個1~16的籃球號碼
number[number.length - 1] = random.nextInt(16) + 1;
return number;
} //系統產生隨機雙色球號碼
用戶輸入自己的雙色球號碼的代碼
public static int[] userInputNumbers() {
//a.定義一個陣列存盤7個號碼
int[] numbers = new int[7];
//b.讓用戶錄入6個紅球號碼
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < numbers.length - 1; i++) {
System.out.println("請您輸入第" + (i + 1) + "個紅球號碼(1 ~ 33,要求數字不重復):");
int data = https://www.cnblogs.com/zhangyouren/p/scanner.nextInt();
//c.把當前錄入的號碼存入陣列中
numbers[i] = data;
}
//d.單獨錄入一個藍球號碼
System.out.println("請您輸入藍球號碼(1 ~ 16):");
numbers[6] = scanner.nextInt();
return numbers;
} //用戶輸入自己的雙色球號碼
中獎情況分析及中獎結果輸出的代碼
public static void judge(int[] num, int[] userNums) {
//判斷是否中獎了
//1.定義兩個變數分別存盤紅球,藍球的命中個數
int redHit = 0;
int blueHit = 0;
//2.判斷紅球命中了幾個
for (int i = 0; i < num.length - 1; i++) {
for (int j = 0; j < userNums.length - 1; j++) {
if (num[i] == userNums[j]) {
redHit++;
break;
}
}
}
//3.判斷藍球是否命中
blueHit = num[num.length - 1] == userNums[userNums.length - 1] ? 1 : 0;
System.out.println("中獎號碼為:");
printArray(num);
System.out.println();
System.out.println("您投注的號碼為:");
printArray(userNums);
System.out.println();
System.out.println("您命中紅球的個數為:" + redHit);
System.out.println("您命中藍球的個數為:" + blueHit);
//最后判斷中獎情況輸出中獎結果:
if (blueHit == 1 || redHit < 3) {
System.out.println("恭喜您,中了六等獎 5 元");
} else if (blueHit == 1 && redHit == 3 || blueHit == 0 && redHit == 4) {
System.out.println("恭喜您,中了五等獎 10 元");
} else if (blueHit == 1 && redHit == 4 || blueHit == 0 && redHit == 5) {
System.out.println("恭喜您,中了四等獎 200 元大獎");
} else if (blueHit == 1 && redHit == 5) {
System.out.println("恭喜您,中了三等獎 3000 元大獎");
} else if (blueHit == 0 && redHit == 6) {
System.out.println("恭喜您,中了二等獎 500萬 超級大獎!");
} else if (blueHit == 1 && redHit == 6) {
System.out.println("恭喜您,中了一等獎 1000萬 巨獎!!");
} else {
System.out.println("感謝您為福利事業做出的貢獻!!!");
}
} //中獎情況分析及中獎結果輸出
案例來自黑馬案例7
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/495379.html
標籤:Java
上一篇:5 款頂級 Docker GUI 工具,好用到爆!!
下一篇:01-讀寫分離測驗案例

