双色球系统
案例:

中奖条件及奖金表

代码及解释
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 = 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 = 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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |