模拟双色球系统——Java
创始人
2024-04-12 02:38:24

目录

一、内容简介

二、 基本流程

 三、具体步骤

1.菜单栏 

2.随机生成幸运号码 

3.用户输入 

4.判断中奖情况 

5.打印数组

 四、代码实现

五、效果展示


一、内容简介

双色球是彩票的一种玩法,规则如下:

  1. 红球一共6组,每组从1——33中随机抽取抽取,互不重复。
  2. 蓝球是从1——16中随机抽取一个数。
  3. 一共7个数字组成双色球的幸运号码。

下面是一张中奖规则图。

 

二、 基本流程

  1. 生成幸运随机号码。前6位从1——33中随机选择,不能重复;最后一位从1——16中选择(可与前6个数字重复)。
  2. 用户输入7位数字,如果不符合规则,要重新输入。
  3. 判断中奖情况,并输出命中红球和蓝球个数。

 三、具体步骤

1.菜单栏 

 public static void menu(){System.out.println("**************************************************************");System.out.println("            欢迎来到双色球,开启你的财富之旅~~~            ");System.out.println("**************************************************************");System.out.println("游戏规则如下:");System.out.println("--------------------------------------------------------------");System.out.println("前6个红球请从1————33中选择,红球不能重复;第7个蓝球请从1————16中选择。");System.out.println("--------------------------------------------------------------");System.out.println("以下是中奖规则:");System.out.println("--------------------------------------------------------------");System.out.println("一等奖:红球6个+蓝球1个,奖金100万");System.out.println("二等奖:红球6个+蓝球0个,奖金500万");System.out.println("三等奖:红球5个+蓝球1个,奖金3000元");System.out.println("四等奖:红球5个+蓝球0个;红球4个+蓝球1个,奖金200元");System.out.println("五等奖:红球4个+蓝球0个;红球3个+蓝球1个,奖金10元");System.out.println("六等奖:红球2个+蓝球1个;红球1个+蓝球1个;红球0个+蓝球1个,奖金5元");System.out.println("-------------------------------------------------------------");}

2.随机生成幸运号码 

/*** 随机生成幸运号码* @return 相应的数组*/public static int[] LuckyNumber()//随机生成幸运号码{int[] arr = new int[7];Random ran = new Random();for (int i = 0; i < arr.length - 1; i++) {//随机生成六个不重复的红球号码while (true) {int code = ran.nextInt(33) + 1;boolean flag = true;for (int j = 0; j < i; j++) {if (arr[j] == code) {flag = false;break;}}if (flag) {arr[i] = code;break;}}}arr[arr.length - 1] = ran.nextInt(16) + 1;//蓝球号码return arr;}

3.用户输入 

/*** 用户输入* @return 相应的数组*/public static int[] UsersNumber()//用户输入号码{int[] arr = new int[7];Scanner sca = new Scanner(System.in);for (int i = 0; i < arr.length - 1; i++) //6个红球号码{System.out.println("请输入第" + (i + 1) + "个号码");while (true) {int number = sca.nextInt();if (number >= 1 && number <= 33) {arr[i] = number;break;} else {System.out.println("该号码无效,请重新输入!!!");}}}System.out.println("请输入第" + (arr.length) + "个号码");while (true) {int BlueNumber = sca.nextInt();if (BlueNumber >= 1 && BlueNumber <= 16) {arr[arr.length - 1] = BlueNumber;break;} else {System.out.println("该号码无效,请重新输入!!!");}}return arr;}

4.判断中奖情况 

/*** 判断中奖情况* @param lucknumber 幸运数字的数组* @param usersnumber 输入的数组*/public static void compare(int[] lucknumber, int[] usersnumber)//判断中奖情况{int rednumber = 0;int bluenumber = 0;for (int i = 0; i < usersnumber.length - 1; i++) {for (int j = 0; j < lucknumber.length - 1; j++) {if (usersnumber[i] == lucknumber[j]) {rednumber++;break;}}}if (lucknumber[lucknumber.length - 1] == usersnumber[usersnumber.length - 1])bluenumber++;//输出命中情况System.out.println("您命中的红球个数:" + rednumber);System.out.println("您命中的蓝球个数:" + bluenumber);if (bluenumber == 1 && rednumber < 3) {System.out.println("恭喜您,中了5元!!!");} else if (bluenumber == 1 && rednumber == 3|| bluenumber == 0 && rednumber == 4) {System.out.println("恭喜您,中了10元!!!");} else if (bluenumber == 1 && rednumber == 4|| bluenumber == 0 && rednumber == 5) {System.out.println("恭喜您,中了200元!!!");} else if (bluenumber == 1 && rednumber == 5) {System.out.println("恭喜您,中了300元!!!");} else if (bluenumber == 0 && rednumber == 6) {System.out.println("恭喜您,中了500万!!!");} else if (bluenumber == 1 && rednumber == 6) {System.out.println("恭喜您,中了1000万!!!");} elseSystem.out.println("很遗憾,您没能中奖~~~");}
}

5.打印数组

注:这只是初学的时候使用的方法。

可以使用Arrays.toString()方法直接输出

public static void Print(int[] arr)//打印数组{System.out.print("[");for (int i = 0; i < arr.length; i++) {System.out.print(i == arr.length - 1 ? arr[i] : arr[i] + ", ");}System.out.println("]");}

 四、代码实现

import java.util.Random;
import java.util.Scanner;public class lottery {public static void main(String[] args)//双色球系统开发{while (true) {menu();int[] lucky = LuckyNumber();int[] users = UsersNumber();System.out.println("-------------------------------------------------------------");System.out.println("请用户输入号码");System.out.println("投注号码是:");Print(users);System.out.println("中奖号码是:");Print(lucky);compare(lucky, users);System.out.println();System.out.println();System.out.println();}}public static void menu() {System.out.println("**************************************************************");System.out.println("            欢迎来到双色球,开启你的财富之旅~~~            ");System.out.println("**************************************************************");System.out.println("游戏规则如下:");System.out.println("--------------------------------------------------------------");System.out.println("前6个红球请从1————33中选择,红球不能重复;第7个蓝球请从1————16中选择。");System.out.println("--------------------------------------------------------------");System.out.println("以下是中奖规则:");System.out.println("--------------------------------------------------------------");System.out.println("一等奖:红球6个+蓝球1个,奖金100万");System.out.println("二等奖:红球6个+蓝球0个,奖金500万");System.out.println("三等奖:红球5个+蓝球1个,奖金3000元");System.out.println("四等奖:红球5个+蓝球0个;红球4个+蓝球1个,奖金200元");System.out.println("五等奖:红球4个+蓝球0个;红球3个+蓝球1个,奖金10元");System.out.println("六等奖:红球2个+蓝球1个;红球1个+蓝球1个;红球0个+蓝球1个,奖金5元");System.out.println("-------------------------------------------------------------");}public static void Print(int[] arr)//打印数组{System.out.print("[");for (int i = 0; i < arr.length; i++) {System.out.print(i == arr.length - 1 ? arr[i] : arr[i] + ", ");}System.out.println("]");}/*** 随机生成幸运号码* @return 相应的数组*/public static int[] LuckyNumber()//随机生成幸运号码{int[] arr = new int[7];Random ran = new Random();for (int i = 0; i < arr.length - 1; i++) {//随机生成六个不重复的红球号码while (true) {int code = ran.nextInt(33) + 1;boolean flag = true;for (int j = 0; j < i; j++) {if (arr[j] == code) {flag = false;break;}}if (flag) {arr[i] = code;break;}}}arr[arr.length - 1] = ran.nextInt(16) + 1;//蓝球号码return arr;}/*** 用户输入* @return 相应的数组*/public static int[] UsersNumber()//用户输入号码{int[] arr = new int[7];Scanner sca = new Scanner(System.in);for (int i = 0; i < arr.length - 1; i++) //6个红球号码{System.out.println("请输入第" + (i + 1) + "个号码");while (true) {int number = sca.nextInt();if (number >= 1 && number <= 33) {arr[i] = number;break;} else {System.out.println("该号码无效,请重新输入!!!");}}}System.out.println("请输入第" + (arr.length) + "个号码");while (true) {int BlueNumber = sca.nextInt();if (BlueNumber >= 1 && BlueNumber <= 16) {arr[arr.length - 1] = BlueNumber;break;} else {System.out.println("该号码无效,请重新输入!!!");}}return arr;}/*** 判断中奖情况* @param lucknumber 幸运数字的数组* @param usersnumber 输入的数组*/public static void compare(int[] lucknumber, int[] usersnumber)//判断中奖情况{int rednumber = 0;int bluenumber = 0;for (int i = 0; i < usersnumber.length - 1; i++) {for (int j = 0; j < lucknumber.length - 1; j++) {if (usersnumber[i] == lucknumber[j]) {rednumber++;break;}}}if (lucknumber[lucknumber.length - 1] == usersnumber[usersnumber.length - 1])bluenumber++;//输出命中情况System.out.println("您命中的红球个数:" + rednumber);System.out.println("您命中的蓝球个数:" + bluenumber);if (bluenumber == 1 && rednumber < 3) {System.out.println("恭喜您,中了5元!!!");} else if (bluenumber == 1 && rednumber == 3|| bluenumber == 0 && rednumber == 4) {System.out.println("恭喜您,中了10元!!!");} else if (bluenumber == 1 && rednumber == 4|| bluenumber == 0 && rednumber == 5) {System.out.println("恭喜您,中了200元!!!");} else if (bluenumber == 1 && rednumber == 5) {System.out.println("恭喜您,中了300元!!!");} else if (bluenumber == 0 && rednumber == 6) {System.out.println("恭喜您,中了500万!!!");} else if (bluenumber == 1 && rednumber == 6) {System.out.println("恭喜您,中了1000万!!!");} elseSystem.out.println("很遗憾,您没能中奖~~~");}
}

五、效果展示

 

 

 

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...