模拟彩票,双色球

news/2024/11/28 23:40:19/
package cp.xql;import java.text.DecimalFormat;
import java.util.Scanner;public class Demo {public static Integer[] cache;       //缓存产生的彩票号码public static String[] lottynum;   //把自选或机选产生的号码格式化时public static String[] pincNum;  //开奖彩票号码public static int grade;         //中奖的等级public static double money;      //中奖的金额public static void main(String[] args) {System.out.println();System.out.println("--------------------------------");System.out.println("------------      功能选择   ------------------");System.out.println("------------      1.自选  2.机选   ------------------");System.out.println("------------      3.开奖  4.兑奖  ------------------");System.out.println("------------      0.退出   ------------------");while (true) {System.out.println("请开始你的选择");int key = wirte();switch (key) {case 1:useSelect();break;case 2:randomSelect();break;case 3:drawing();break;case 4:cash();break;case 0:System.out.println("拜拜了");System.exit(0);default:System.out.println("还有待开发");break;}}}private static void cash() {if (pincNum==null || lottynum==null){System.out.println("请购买彩票或没有开奖");return;}int readBall=0; int blueBall=0;for (int i = 0; i <pincNum.length-1 ; i++) {for (int j = 0; j <lottynum.length-1 ; j++) {if (pincNum[i].equals(lottynum[j])){//开奖的红球=购买彩票的红球readBall++;//供求数量加1}}}if (pincNum[6]==lottynum[6]){//如果开奖的篮球等于购买的篮球blueBall++;//供求数量加1}if(readBall==6 && blueBall==1){grade=1;}else  if(readBall==6){grade=2;}else if (readBall==5 && blueBall==1){grade=3;}else  if (readBall==5 ||(readBall==4 && blueBall==1)){grade=4;}else  if(readBall==4 ||(readBall==3 && blueBall==1)){grade=5;}else if (blueBall==1 ||(readBall==1 && blueBall==1) ||(readBall==2 && blueBall==1) ){grade=6;}else {grade=0;}switch (grade){case  1:money=5000000;System.out.println("恭喜你 走狗屎运 一等奖"+money+"元");break;case 2:money=3000000;System.out.println("差一点 恭喜二等奖"+money+"元");break;case  3:money=200000;System.out.println("差一点 恭喜三等奖"+money+"元");case  4:money=20000;System.out.println(" 四等奖"+money+"元");case  5:money=10000;System.out.println(" 五等奖"+money+"元");case  6:money=5000;System.out.println(" 六等奖"+money+"元");default:System.out.println("太可惜");break;}}
//开奖private static void drawing() {if (lottynum==null){System.out.println("请先购买彩票,想白嫖?");return;}cache =new Integer[7];randomNum();//这个时候产出的号码就是中奖号码bubbleSort();pincNum =new String[7];//格式化lotteryFormat(pincNum);System.out.println("--------------------");System.out.println("------------本期中奖号码是--------------------------");show(pincNum);System.out.println("-------------------------");System.out.println("---------您购买的彩票号码----------");show(lottynum);}private static void randomSelect() {System.out.println("正在出号中...");cache = new Integer[7];randomNum();bubbleSort();lottynum = new String[7];lotteryFormat(lottynum);show(lottynum);}/*** 机选的方法*/public static void randomNum() {for (int i = 0; i < 6; i++) {cache[i] = Math.toIntExact(Math.round(Math.random() * 32 + 1));if (!checkReBall(i)) {i--;}}for (int i = 6; i < 7; i++) {cache[i] = Math.toIntExact(Math.round(Math.random() * 15 + 1));if (!checkBlueBall(i)) {i--;}}}/*** 自选的方法*/private static void useSelect() {System.out.println("--------------");System.out.println("----------开始自选号码,一共七位");System.out.println("前六位 1-33");System.out.println("后一位蓝色号码 1-16");cache = new Integer[7];for (int i = 0; i < 6; i++) {System.out.println("请输入" + (i + 1) + "红球");cache[i] = wirte();if (!checkReBall(i)) {i--;}}for (int i = 6; i < 7; i++) {System.out.println("请输入" + (i + 1) + "蓝球");cache[i] = wirte();if (!checkBlueBall(i)) {i--;}}bubbleSort();//冒泡排序lottynum = new String[7];//范围lotteryFormat(lottynum);//保存着格式化之后的数据show(lottynum);//展示}/*** 判断蓝球 和 红球的范围*/public static boolean checkReBall(int index) {if (cache[index] < 1 || cache[index] > 33) {System.out.println("输入超过红球的范围了");return false;}for (int i = 0; i < index; i++) {if (cache[i] == cache[index]) {System.out.println("红球不能重复");return false;}}return true;}public static boolean checkBlueBall(int index) {if (cache[index] < 1 || cache[index] > 16) {System.out.println("输入超过蓝球的范围了");return false;}return true;}/*** 判断是否输出正确*/public static int wirte() {int key;try {key = new Scanner(System.in).nextInt();} catch (Exception e) {System.out.println("你输入错误,请重新输入");key = wirte();}return key;}/*** 冒泡排序*/public static void bubbleSort() {for (int i = 0; i < cache.length - 2; i++) {for (int j = 0; j < cache.length - 2 - i; j++) {if (cache[j] > cache[j + 1]) {Integer temp = cache[j + 1];cache[j + 1] = cache[j];cache[j] = temp;}}}}/*** 格式化数据*/private static void lotteryFormat(String[] array) {DecimalFormat df = new DecimalFormat("00");for (int i = 0; i < cache.length; i++) {array[i] = df.format(cache[i]);}}/*** 输出*/private static void show(String[] array) {for (int i = 0; i < 6; i++) {System.out.print("红" + (i + 1) + "\t");}System.out.print("蓝" + "\n");for (String o : array) {System.out.print((String) o + "\t");}}
}

http://www.ppmy.cn/news/179977.html

相关文章

bjfuOJ 1230LED显示器1(模拟)

LED显示器1 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte 总提交:45 测试通过:25 描述 fudq最近搞了一个小发明&#xff1a;LED显示器&#xff0c;类似电子手表上的显示器&#xff0c;一共可以显示四位数字&#xff0c;前两位数字和后两位数…

仿真器(emulator)和模拟器(simulator)的区别

维基百科上对仿真器(emulator)和模拟器(simulator)的解释如下&#xff1a; 仿真器&#xff08;Emulator&#xff09;&#xff0c;又称仿真程序&#xff0c;在软件工程中指可以使计算机或者其他多媒体平台&#xff08;掌上电脑&#xff0c;手机&#xff09;能够运行其他平台上的…

Win10/11 开启 第二屏幕/副屏/虚拟显示器

未连接显示器时在 Windows 10 上激活辅助显示器 原文地址 参考地址 在某些情况下&#xff0c;您需要模拟一台或多台辅助显示器连接到您的系统。这主要用于远程控制应用程序或 USB 类型的监视器&#xff0c;例如 Amyuni USB 移动显示器 产品。 在 Windows 10 之前&#xff0c;通…

测试显示屏用什么软件测试,怎么对显示器进行测试

如何对显示器进行测试呢?今天由学习啦小编和大家说说你们不知道的一些小知识吧! 什么是显示器的漏光 屏幕液晶跟框架吻合不紧密导致灯管光直接透射出来。液晶显示器漏光是常见问题&#xff0c;从某种意义上来说&#xff0c;液晶显示器基本上无法避免漏光的发生&#xff0c;只不…

模拟双色球

一、需求 1.随机生成一组中奖号码 2.用户输入一组双色球号码 3.判断中奖情况 4.中奖号码由6个红球&#xff08;1-33&#xff09;和1个蓝球&#xff08;1-16&#xff09;组成&#xff08;6个红球不能重复&#xff09; 二 &#xff0c;代码 package lianxi;import java.util.Ra…

Windows远程桌面开发之九-虚拟显示器(Windows 10 Indirect Display 虚拟显示器驱动开发)

by fanxiushu 2019-06-24 转载或引用请注明原始作者。 这里与远程桌面关系不是太大,但这个部分是xdisp_virt远程控制程序的实现多显示器桌面扩展的子功能,因此也归为远程桌面开发一类。 这篇文章与之前发布的https://blog.csdn.net/fanxiushu/article/details/82731673 WIN7…

低分辨率的显示器模拟高分辨率显示模式

我的上网本只有1024x768的分辨率&#xff0c;运行文华6要求更高分辨率显示器。 通过对显示器安装驱动&#xff0c;获得虚拟的高分辨率支持。 1、打开显示器的属性&#xff0c;选择&#xff1a;设置->高级->监视器&#xff1b;2、这里我们可以看到监视器类型是默认的”即插…

windows虚拟显示器开发(三)USB显示器

我们常用的显示器接口有HDMI、VGA等接口&#xff0c;这些接口是直接在显卡上的&#xff0c;当显示器插在显卡上&#xff0c;显卡就直接可以将显示信号输出到显示器了。 关于USB显示器跟HDMI之类的显示器有本质区别&#xff0c;我们需要实现的有两个&#xff1a; 在USB上插入一…