目录
一,双色球彩票训练任务
描述
今天的任务,是完成双色球彩票程序。
玩法规则:“双色球”每注投注号码由 6 个红色球号码和 1 个蓝色球号码 组成。
红色球号码从 1—33 中选择,蓝色球号码从 1—16 中选择。
球的数字匹配数量和颜色决定了是否中奖,具体中奖规则:
1. 系统随机生成 6 个 1—33 的数字(代表红色球)+1 个 1—16 数字(代 表蓝色球)。
2. 请用户输入 6 个不重复的 1—33 数字(代表红色球)+1 个 1—16 数字 (代表蓝色球)。
3. 对比确认获得几等奖。
代码
package com.kaikeba.demo;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
int[] winRed = new int[6]; // 中奖红色球号码
int[] userRed = new int[6]; // 用户红色球号码
int winBlue; // 中奖蓝色球号码
int userBlue; // 用户蓝色球号码
Scanner input = new Scanner(System.in);
// 生成随机数
for(int i = 0; i < 6; i++) {
winRed[i] = (int)(Math.random() * (33 - 1) + 1);
}
winBlue = (int)(Math.random() * (16 - 1) + 1);
// 获取用户提供的数字
System.out.println("请输入6个红色球号码(1-33):");
for(int i = 0; i < 6; i++) {
userRed[i] = input.nextInt();
}
System.out.println("请输入1个蓝色球号码(1-16):");
userBlue = input.nextInt();
// 输出中奖号码
System.out.println("中奖红色球号码分别为:");
for(int i = 0; i < 6; i++) {
System.out.print(winRed[i] + " ");
}
System.out.println();
System.out.println("中奖蓝色球号码分别为:");
System.out.println(winBlue);
// 对比 获得中奖号码个数
int scoreOfRed = 0, scoreOfBlue = 0;
for(int i = 0; i < 6; i++) {
for(int j = 0; j < 6; j++) {
if(userRed[i] == winRed[i]) {
scoreOfRed++;
break;
}
}
}
if(userBlue == winBlue) {
scoreOfBlue++;
}
if(scoreOfRed == 6 && scoreOfBlue == 1) {
System.out.println("一等奖");
}else if(scoreOfRed == 6 && scoreOfBlue == 0) {
System.out.println("二等奖");
}else if(scoreOfRed == 5 && scoreOfBlue == 1) {
System.out.println("三等奖");
}else if((scoreOfRed == 5 && scoreOfBlue == 0) ||
(scoreOfRed == 4 && scoreOfBlue == 1)) {
System.out.println("四等奖");
}else if((scoreOfRed == 4 && scoreOfBlue == 0) ||
(scoreOfRed == 3 && scoreOfBlue == 1)) {
System.out.println("五等奖");
}else if((scoreOfRed == 2 && scoreOfBlue == 1) ||
(scoreOfRed == 1 && scoreOfBlue == 1) ||
(scoreOfRed == 0 && scoreOfBlue == 1)) {
System.out.println("六等奖");
}else {
System.out.println("很遗憾,未中奖");
}
}
}