双色球系统开发

打印 上一主题 下一主题

主题 889|帖子 889|积分 2671

双色球系统

案例:



中奖条件及奖金表


代码及解释

main方法代码:
  1. public static void main(String[] args) {
  2.         //1.随机6个红球号码(1~33,不能重复),随机一个蓝球号码(1~16)
  3.         int[] num = createLuckNumber();
  4. //        printArray(num);
  5. //        System.out.println();
  6.         //2.调用一个方法让用户输入7个号码,作为用户选号
  7.         int[] userNums = userInputNumbers();
  8. //        printArray(userNums);
  9.         //3.判断中奖情况
  10.         judge(num,userNums);
  11.     }
复制代码
系统产生随机双色球号码的代码
  1. public static int[] createLuckNumber() {
  2.         //a、定义一个动态初始化的数组,存储7个数字
  3.         int[] number = new int[7];
  4.         //b、遍历数组,为每个位置生成对应的号码(注意只遍历前6个不重复的红球号码,范围1~33)
  5.         Random random = new Random();
  6.         for (int i = 0; i < number.length - 1; i++) {
  7.             //为当前位置找出不重复的6个不重复且符合范围的数
  8.             while (true) {
  9.                 int data = random.nextInt(33) + 1;
  10.                 //c、注意:必须判断当前随机的这个号码之前是否出现过,出现过要重新随机一个,知道不重复位置
  11.                 // 定义一个flag变量,默认true是没有重复的
  12.                 boolean flag = true;
  13.                 for (int j = 0; j < i; j++) {
  14.                     if (number[j] == data) {
  15.                         //data当前数字前面出现过,不能用并且对flag进行标记
  16.                         flag = false;
  17.                         break;
  18.                     }
  19.                 }
  20.                 if (flag) {
  21.                     //data当前值前面没出现过
  22.                     number[i] = data;
  23.                     break;
  24.                 }
  25.             }
  26.         }
  27.         // d.为第7个位置生成一个1~16的篮球号码
  28.         number[number.length - 1] = random.nextInt(16) + 1;
  29.         return number;
  30.     } //系统产生随机双色球号码
复制代码
用户输入自己的双色球号码的代码
  1. public static int[] userInputNumbers() {
  2.         //a.定义一个数组存储7个号码
  3.         int[] numbers = new int[7];
  4.         //b.让用户录入6个红球号码
  5.         Scanner scanner = new Scanner(System.in);
  6.         for (int i = 0; i < numbers.length - 1; i++) {
  7.             System.out.println("请您输入第" + (i + 1) + "个红球号码(1 ~ 33,要求数字不重复):");
  8.             int data = scanner.nextInt();
  9.             //c.把当前录入的号码存入数组中
  10.             numbers[i] = data;
  11.         }
  12.         //d.单独录入一个蓝球号码
  13.         System.out.println("请您输入蓝球号码(1 ~ 16):");
  14.         numbers[6] = scanner.nextInt();
  15.         return numbers;
  16.     } //用户输入自己的双色球号码
复制代码
中奖情况分析及中奖结果输出的代码
  1. public static void judge(int[] num, int[] userNums) {
  2.         //判断是否中奖了
  3.         //1.定义两个变量分别存储红球,蓝球的命中个数
  4.         int redHit = 0;
  5.         int blueHit = 0;
  6.         //2.判断红球命中了几个
  7.         for (int i = 0; i < num.length - 1; i++) {
  8.             for (int j = 0; j < userNums.length - 1; j++) {
  9.                 if (num[i] == userNums[j]) {
  10.                     redHit++;
  11.                     break;
  12.                 }
  13.             }
  14.         }
  15.         //3.判断蓝球是否命中
  16.         blueHit = num[num.length - 1] == userNums[userNums.length - 1] ? 1 : 0;
  17.         System.out.println("中奖号码为:");
  18.         printArray(num);
  19.         System.out.println();
  20.         System.out.println("您投注的号码为:");
  21.         printArray(userNums);
  22.         System.out.println();
  23.         System.out.println("您命中红球的个数为:" + redHit);
  24.         System.out.println("您命中蓝球的个数为:" + blueHit);
  25.         //最后判断中奖情况输出中奖结果:
  26.         if (blueHit == 1 || redHit < 3) {
  27.             System.out.println("恭喜您,中了六等奖 5 元");
  28.         } else if (blueHit == 1 && redHit == 3 || blueHit == 0 && redHit == 4) {
  29.             System.out.println("恭喜您,中了五等奖 10 元");
  30.         } else if (blueHit == 1 && redHit == 4 || blueHit == 0 && redHit == 5) {
  31.             System.out.println("恭喜您,中了四等奖 200 元大奖");
  32.         } else if (blueHit == 1 && redHit == 5) {
  33.             System.out.println("恭喜您,中了三等奖 3000 元大奖");
  34.         } else if (blueHit == 0 && redHit == 6) {
  35.             System.out.println("恭喜您,中了二等奖 500万 超级大奖!");
  36.         } else if (blueHit == 1 && redHit == 6) {
  37.             System.out.println("恭喜您,中了一等奖 1000万 巨奖!!");
  38.         } else {
  39.             System.out.println("感谢您为福利事业做出的贡献!!!");
  40.         }
  41.     } //中奖情况分析及中奖结果输出
复制代码
案例来自黑马案例7

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

刘俊凯

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表