import java.util.Scanner;

class SsqGame {
public static void main(String[] args) {
int total = 0;//买了几注
int[] num = new int[7];
boolean flag = false;
do{
System.out.println("*****欢迎进入双色球彩票系统*****");
System.out.println(" 1.购买彩票 ");
System.out.println(" 2.查看开奖 ");
System.out.println(" 3.退出 ");
System.out.println("********************************");
Scanner sc = new Scanner(System.in);
System.out.println("请选择菜单:");
int choice = sc.nextInt();
switch (choice) {
case 1:
System.out.println("请选择您要购买几注彩票:");
int record = sc.nextInt();
total = record * 2;
for (int i = 0;i < 7 ;i++ ) {
if (i < 6) {
System.out.println("购买红色球,请选择一个1-33之间的号码:");
int red = sc.nextInt();
num[i] = red;
}else{
System.out.println("购买蓝色球,请选择一个1-16之间的号码:");
int blue = sc.nextInt();
num[i] = blue;
}
}
System.out.print("您一共购买了" + record + "注,共需支付" + total + "元,您所选号码为:");
print(num);
System.out.println(); break;
case 2:
//随机生成开奖号码
int luckNum[] = getLuckNum();
System.out.print("本次中奖号码为:");
print(luckNum);
System.out.print("已买的彩票号:");
print(num);
//比较中奖号码和已买号码
int result = resultComparation(num,luckNum);
System.out.println("中奖信息:");
if (result == 1) {
System.out.println("恭喜您中了一等奖!");
}else if (result == 2) {
System.out.println("恭喜您中了二等奖!");
}else if (result == 3) {
System.out.println("恭喜您中了三等奖!");
}else if (result == 4) {
System.out.println("恭喜您中了四等奖!");
}else if (result == 5) {
System.out.println("恭喜您中了五等奖!");
}else if (result == 6) {
System.out.println("恭喜您中了六等奖!");
}else{
System.out.println("很遗憾没有中奖");
}
System.out.println(); break;
case 3:
flag = true;
break;
default:
System.out.println("请输入正确的选项");
break; }
}while(true);
} public static void print(int[] arr){
for (int i = 0;i < arr.length ;i++ ) {
System.out.print(arr[i] + " ");
}
} public static int[] getLuckNum(){
int luckNum[] = new int[7];
for (int i = 0;i < luckNum.length ;i++ ) {
if (i < luckNum.length - 1) {
a:for (int j = 0;j < luckNum.length-i ;j++ ) {
int m = (int)(Math.random()*33 + 1);
if (m != luckNum[j]) {
luckNum[j] = m;
}
else{
break a;
}
}
}else{
luckNum[i] = (int)(Math.random()*16 + 1);
}
}
return luckNum;
} public static int resultComparation(int[] num,int[] luckNum){
int redcount = 0;//红球相同个数
int bluecount = 0;//蓝球相同个数
int result = 0;//中奖等级
//将所买号码中每个数字与中奖号码进行比较,计算红球和蓝球各自相同的个数
for (int i = 0;i < num.length ;i++ ) {
if (i < num.length - 1) {
int m = num[i];
for (int j = 0;j < luckNum.length - 1 ;j++ ) {
if (m == luckNum[j]) {
redcount++;
}
}
}else{
if (num[num.length-1] == luckNum[luckNum.length-1]) {
bluecount++;
}
}
}
//确定中奖等级
if (redcount == 6 && bluecount == 1) {
result = 1;
}else if (redcount == 6 && bluecount == 0) {
result = 2;
}else if (redcount == 5 && bluecount == 1) {
result = 3;
}else if ((redcount == 5 && bluecount == 0) ||(redcount == 4 && bluecount == 1)) {
result = 4;
}else if ((redcount == 4 && bluecount == 0) ||(redcount == 3 && bluecount == 1)) {
result = 5;
}else if (redcount == 0 && bluecount == 1) {
result = 6;
}else{
result = 0;
}
return result;
}
}

day07作业的更多相关文章

  1. day07 作业

    作业(必做题):#1. 使用while循环输出1 2 3 4 5 6 8 9 10count=0while count<11: if count==7: count+=1 continue pr ...

  2. Python:Day07 作业

    三级菜单: 自己做的代码: china = { '江苏':{ '南京':{ '江宁':{}, '白下':{}, '栖霞':{}, '江淮':{}, '浦口':{} }, '宿迁':{ '宿城区':{} ...

  3. python day07作业答案

    1. sum=0 a=input() for i in a: sum=sum+int(i)**3 if sum==int(a): print('水仙数') 2. lst=[100,2,6,9,1,10 ...

  4. python day07作业

  5. day07作业猜年龄游戏

    # 给定年龄,用户可以猜三次年龄 # # 年龄猜对,让用户选择两次奖励 # # 用户选择两次奖励后退出 get_prize_dict = {} # 获取的奖品信息 age = 18 inp_count ...

  6. python 作业

    Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...

  7. DSB

    Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...

  8. 08_Java基础语法_第8天(Eclipse)_讲义

    今日内容介绍 1.Eclipse开发工具 2.超市库存管理系统 01Eclipse的下载安装 * A: Eclipse的下载安装  * a: 下载 * http://www.eclipse.org ...

  9. Day07 jdk5.0新特性&Junit&反射

    day07总结 今日内容 MyEclipse安装与使用 JUnit使用 泛型 1.5新特性 自动装箱拆箱 增强for 静态导入 可变参数方法 枚举 反射 MyEclipse安装与使用(yes) 安装M ...

随机推荐

  1. 【poj3623】 Best Cow Line, Gold

    http://poj.org/problem?id=3623 (题目链接) 题意 给出一个字符串,每次可以取首或尾接到一个新的字符串后面,求构出的字典序最小的新字符串. Solution 首先可以发现 ...

  2. CAS使用心得

    1.理解CAS实现SSO需要哪些组成部分 2.理解CAS实现SSO流程,包括登陆.注销.二次登陆.其他应用登陆 3.CAS部署需要SSL支持,理解容器如何开启SSL.服务端证书.jre证书信任.创建以 ...

  3. ACM比赛_注意

    ACM比赛_注意: 比赛前: 1.前一天早一点睡觉 2.避免参加激烈的活动,以免比赛时精力不足; 3.少喝水,并提前上厕所; 4.把账号,密码都准备好,放在txt中 5.提前创建多个程序(etc.10 ...

  4. bzoj 刷题计划~_~

    bzoj 2818 两个互质的数的gcd=1,所以他们同时乘一个素数那么他们的gcd=这个素数,所以枚举素数p找n/p以内有多少对互质数,用欧拉函数. bzoj 2809 可并堆,对于每一个子树显然是 ...

  5. linux 中 virtualenvwrapper的使用

    原文链接:http://www.jianshu.com/p/3abe52adfa2b Virtaulenvwrapper Virtaulenvwrapper是virtualenv的扩展包,用于更方便管 ...

  6. Hadoop生态圈-Sqoop部署以及基本使用方法

    Hadoop生态圈-Sqoop部署以及基本使用方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与 ...

  7. [Java] 集合框架原理之一:基本结构与源码分析

    一.Collection Collection 接口定义了一些基本的方法: int size(); boolean isEmpty(); boolean add(E e); boolean addAl ...

  8. 51nod1019 逆序数

    1019 逆序数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为 ...

  9. 图论:LCA-欧拉序

    #include<cmath> #include<vector> #include<cstdio> #include<cstring> #include ...

  10. Java并发编程原理与实战三十八:多线程调度器(ScheduledThreadPoolExecutor)

    在前面介绍了java的多线程的基本原理信息:线程池的原理与使用 本文对这个java本身的线程池的调度器做一个简单扩展,如果还没读过上一篇文章,建议读一下,因为这是调度器的核心组件部分. 我们如果要用j ...