练习
双色球——模拟彩票系统
1.用户可以选择出票模式(1 机选 2 手选)
2.如果选择的是机选,则随机生成六个红球数字和一个蓝球数字,
说明六个红球数字的范围是1-33;蓝球一个,数字范围是1-16
3.如果是机选 用户还可以选择注数,如果选择的是2注,则随机生成两组双色球
4.同时程序还得随机生成中奖的双色球 号码。
5.用户的双色球和生成的中奖号码,进行对比,并提示有没有中奖,
中奖规则是:
一等奖:6+1
二等奖:6+0
三等奖:5+1
四等奖:5+0/4+1
五等奖:4+0/3+1
六等奖:2+1/1+1/0+1
6.如果是手选,则先收到输入六个红球数字 ,再输入篮球数字,输
入完成则计算中奖结果并显示。
package com.day11; import java.util.Arrays; import java.util.Random; import java.util.Scanner; /** * @author SFJ * @date 2019/11/8 * @time 15:24 **/ public class lotteryTicket { static Random random = new Random(); static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { System.out.println("------------------双色球彩票系统--------------------"); System.out.println("----------1.机选------------------2.手选-----------"); int select = scanner.nextInt(); switch (select) { case 1: { System.out.println("请输入注数"); int machinenum = scanner.nextInt(); machine(machinenum); break; } case 2: { System.out.println("请输入注数"); int personnum = scanner.nextInt(); person(personnum); break; } } } public static int[] randomPrize() { int prize[]=new int[7]; for (int i=0;i<6;i++) { prize[i]=random.nextInt(33)+1; for (int j=0;j<i;j++) { if (prize[j]==prize[i]) { prize[i]=random.nextInt(33)+1; } } } prize[6]=random.nextInt(16)+1; Arrays.sort(prize,0,5); System.out.print("生成的中奖红色球为:"); for (int i=0;i<6;i++) { System.out.print(prize[i]+" "); } System.out.print("中奖蓝色球:"+prize[6]+"\n"); return prize; } public static void machine(int n) { int machine[][]= new int [7]; for (int i=0;i<n;i++) { for (int j=0;j<6;j++) { machine[i][j]= (random.nextInt(33))+1; for (int m=0;m<j;m++) { if (machine[i][j]==machine[i][m]) { machine[i][j]=(random.nextInt(33))+1; } } machine[i][6]=(random.nextInt(16))+1; } } for (int i=0;i<n;i++) { System.out.print("第"+(i+1)+"次"+"机器生成的红色球的号码是"); Arrays.sort(machine[i],0,5); for (int j=0;j<6;j++) { System.out.print(machine[i][j]+" "); } System.out.print("蓝色球是:"+machine[i][6]+"\n"); } result(machine,n); } public static void person(int n) { int person[][]=new int [7]; for (int i=0;i<n;i++) { System.out.println("请输入6个不同的1-33红色球数字:"); for (int j=0;j<6;j++) { int t=scanner.nextInt(); person[i][j]=t; for (int q=0;q<j;q++) { if(person[i][q]==t) { while (true) { System.out.println("不能出现相同的数字"+person[i][q]+",请重新输入:"); person[i][j]=scanner.nextInt(); if (person[i][q]!=person[i][j]) break; } } } while(true) { if (person[i][j]>33||person[i][j]<1) { System.out.println("请重新输入一个值,数字范围在1~33之间"); person[i][j]=scanner.nextInt(); } else { break; } } } System.out.println("请输入所选的蓝球数字:"); person[i][6]=scanner.nextInt(); if (person[i][6]>16||person[i][6]<1) { System.out.println("请重新输入一个值,数字范围在1~16之间"); person[i][6]=scanner.nextInt(); } } System.out.println("输入的红球数字为:"); for (int i=0;i<n;i++) { Arrays.sort(person[i],0,5); for (int j=0;j<6;j++) { System.out.print(person[i][j]+" "); } System.out.println("输入的蓝球为"+person[i][6]+"\n"); } result(person,n); } public static void result(int r[][],int row) { int redsum = 0; int bluesum = 0; int rowredsum[] = new int[row]; int rowbluesum[] = new int[row]; int prize[] = randomPrize(); for (int i = 0; i < row; i++) { for (int j = 0; j < 6; j++) { for (int p = 0; p < 6; p++) { if (prize[p]== r[i][j]) { redsum++; } } } rowredsum[i] = redsum; redsum = 0; if (prize[6] == r[i][6]) { bluesum++; } rowbluesum[i] = bluesum; bluesum = 0; } for (int i = 0; i < row; i++) { if (rowredsum[i] == 6 && rowbluesum[i] == 1) { System.out.println("第" +(i+1) + "次中一等奖"); } else if (rowredsum[i] == 6 && rowbluesum[i] == 0) { System.out.println("第" + (i+1) + "次中2等奖"); } else if (rowredsum[i] == 5 && rowbluesum[i] == 1) { System.out.println("第" + (i+1) + "次中3等奖"); } else if ((rowredsum[i]==5&&rowbluesum[i]==0)||(rowredsum[i]==4&&rowbluesum[i]==1)) { System.out.println("第"+(i+1)+"次中4等奖"); } else if ((rowredsum[i]==4&&rowbluesum[i]==0)||(rowredsum[i]==3&&rowbluesum[i]==1)) { System.out.println("第" + (i+1) + "次中5等奖"); } else if ((rowredsum[i]==2&&rowbluesum[i]==1)||(rowredsum[i]==1&&rowbluesum[i]==1)||(rowredsum[i]==0&&rowbluesum[i]==1)) { System.out.println("第" + (i+1) + "次中6等奖"); } else { System.out.println("第" + (i+1) +"没有中奖"); } } } }
- 【垃圾菜鸟笔记】html5 video标签的一点练习
- 课堂练习-----查找水王
- 英语口语练习二十一之I don't blame him for...(我不会为了……责怪他)用法
- Shell练习(31-35)-2019.1.10
- 蓝桥杯 基础练习 Sine之舞 模拟题
- jQuery获取select元素选择器练习
- java"循环结构"练习实例
- Linux编程练习(一)—— 多线程+共享内存+线程信号量练习
- javascript之DOM编程根据属性找标签练习
- 【美术之家】手绘中透视的原理、应用及其练习方法,要收藏的哦
- C++沉思录第九章的练习
- 数据整理练习,R
- 蓝桥杯: 基础练习 01字串
- 单链表相交判断练习
- 简易数论练习
- oracle练习之查询2(group by,order by)
- #小练习 使用SGMLParser获取url链接 分类: HTMLParser 2013-11-12 16:52 471人阅读 评论(0) 收藏
- 区别getElementByID,getElementsByName,getElementsByTagName(慕课网练习)
- 练习6.13
- 课堂练习——找水王