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. CF739E Gosha is hunting 【WQS二分 + 期望】

    题目链接 CF739E 题解 抓住个数的期望即为概率之和 使用\(A\)的期望为\(p[i]\) 使用\(B\)的期望为\(u[i]\) 都使用的期望为\(p[i] + u[i] - u[i]p[i] ...

  2. Go interface{}、类型断言

    在 golang 中 interface{} 可用于向函数传递任意类型的变量, 但在函数内部使用的话, 该变量的类型就是 interface{}, 也称为空接口类型 比如我们定义一个函数, 输出字符串 ...

  3. Java之Junit和反射

    Junit,反射 Junit 1.测试的分类: 黑盒测试 : 不需要写代码,给输入值,看程序是否能够输出期望的值. 白盒测试 : 需要进行代码的编写,关注的是程序的具体流程. 2.使用步骤(方法类的命 ...

  4. Java EE之表达式语言EL(下)

    1.在EL表达式中使用作用域变量 表达式语言对作用域变量的支持,以及它解析变量的方式都使它变得非常有用. 1.1 EL表达式的隐式变量 EL表达式的作用域中定义了11个隐式变量. 当EL表达式引用了一 ...

  5. Java EE之会话

    1.需要会话的原因 所有HTTP服务器技术都普遍采用HTTP会话的概念,并且Java EE也在规范中添加了对会话的支持. 维持状态 会话用于维持请求和请求之间的状态.HTTP请求自身是完全无状态的.从 ...

  6. oracle 11g 压缩数据文件

    通过以下语句直接分析出每个数据库文件可压缩量 select a.file#, a.name, a.bytes CurrentMB, ceil(HWM ResizeTo, (a.bytes Releas ...

  7. 牛客练习赛23 F 托米的游戏

    https://www.nowcoder.com/acm/contest/156/F 树 概率 #include <cstdio> #include <cstdlib> #in ...

  8. Chapter8(IO库) --C++Prime笔记

    1.IO对象不能拷贝或对IO对象赋值,进行IO操作的函数通常是以引用方式传递和返回流. 2.一个流一旦发生错误,其上的后续的IO操作都会失败.代码通常应该在使用一个流之前检查它是否处于良好状态.确定一 ...

  9. iperf测试网络性能

      分类: LINUX 2013-06-17 18:52:21     Iperf是一个网络性能测试工具.可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽 ...

  10. python的tuple()元组数据类型的使用方法以及案例

    一.元组的概念介绍 1.元组是列表的二次加工 列表可以被修改 列表的类型 list li = [1,2,3,4,5,6] 2.元组的元素不可被修改,不能被增加或者删除,(只是针对元组的一级元素是不可以 ...