java实现双色球彩票游戏
更新时间:2020年06月28日 17:15:22 作者:大精灵丶帕克
这篇文章主要为大家详细介绍了java实现双色球彩票游戏,超级简单的逻辑,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
综合案例开发:模拟双色球彩票游戏,供大家参考,具体内容如下
玩法说明:
双色球投注区分为红球号码区和蓝球号码区,红球号码范围为01~33,蓝球号码范围为01~16。双色球每期从33 个红球中开出6个号码(不能重复),从16个蓝球中开出1个号码作为中奖号码,双色球玩法即是竞猜开奖号码的6 个红球号码和1个蓝球号码,顺序不限。 用户输入红球和蓝球号码,程序输出该用户中几等奖。
代码实现:
import java.util.Random; import java.util.Scanner; public class SimulatedLottery { public static void main(String[] args) { //单注最高奖金 int maxMoney = 500; //输入蓝球的号码 System.out.print("请输入你购买的蓝球号码:"); Scanner input = new Scanner(System.in); int blueBall = input.nextInt(); //输入红球的数组 int[] redBall = new int[6]; System.out.print("请输入你购买的红球号码(不重复):"); for (int i = 0; i < redBall.length; i++) { redBall[i] = input.nextInt(); } //输出输入值 System.out.println("----------------"); System.out.print("你购买的红球号码是:"); for (int i = 0; i < redBall.length; i++) { System.out.print(redBall[i]+","); } System.out.println(); System.out.println("你购买的蓝球号码是:"+blueBall); System.out.println("---正在产生中奖号码---"); //生成的蓝球号码 Random numsRandom = new Random(); int blueBallRandom = numsRandom.nextInt(16)+1; //生成红球的号码 int[] redBallRandom = new int[6]; int index = redBallRandom.length; int inputRandom = 0; int k = 0; while (index>0) { if (exist(redBallRandom, inputRandom)) { //在数组中存在,更换一个随机数 inputRandom = numsRandom.nextInt(33)+1; }else { //在数组中不存在 redBallRandom[k] = inputRandom; k++; index--; } } //输出中奖号码 System.out.println("蓝球的中奖号码是:"+blueBallRandom); System.out.print("红球的中奖号码是:"); for (int i = 0; i < redBallRandom.length; i++) { System.out.print(redBallRandom[i]+","); } System.out.println(); //统计和蓝球相等的个数 int blueCount = 0; if (blueBall == blueBallRandom) { blueCount = 1; } //统计和红球相等的个数 int redCount = 0; for (int i = 0; i < redBallRandom.length; i++) { if (redBall[i] == redBallRandom[i]) { redCount++; } } //判断是否中奖 if (blueCount == 0 && redCount <= 3) { //未中奖 System.out.println("很遗憾,您未中奖,赌博害人,请勿上头!"); //中奖 }else if(blueCount == 1 && redCount < 3) { System.out.println("恭喜你,中了六等奖,您的奖金为5元"); }else if((blueCount == 1 && redCount == 3) || (blueCount == 0 && redCount == 4)) { System.out.println("恭喜你,中了五等奖,您的奖金为10元"); }else if((blueCount == 1 && redCount == 4) && (blueCount == 0 && redCount == 5)) { System.out.println("恭喜你,中了四等奖,您的奖金为200元"); }else if(blueCount == 1 && redCount == 5) { System.out.println("恭喜你,中了三等奖,您的奖金为3000元"); }else if(blueCount == 0 && redCount == 6) { System.out.println("恭喜你,中了二等奖,您的奖金为"+(int)(maxMoney*0.3)+"万"); }else if(blueCount == 1 && redCount == 6 ) { System.out.println("恭喜你,中了一等奖,您的奖金为"+maxMoney+"万"); } } //判断数组中是否存在某数的方法,存在返回true public static boolean exist(int[] redBallRandom, int inputRandom) { for (int i = 0; i < redBallRandom.length; i++) { if(redBallRandom[i] == inputRandom) { return true; } } return false; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
基于@RequestBody和@ResponseBody及Stringify()的作用说明
这篇文章主要介绍了基于@RequestBody和@ResponseBody及Stringify()的作用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06spring一个项目多个模块聚合打包问题解决方案(最新推荐)
最近遇到个需求,针对后端解耦模块较多的项目,想在云端启动时简洁些只启动一个jar文件的情景,本文重点给大家介绍spring一个项目多个模块聚合打包问题解决方案,感兴趣的朋友一起看看吧2023-09-09SpringBoot项目中连接SQL Server的三种方式
连接SQL Server是许多Spring Boot项目中常见的需求之一,本文主要介绍了SpringBoot项目中连接SQL Server的三种方式,具有一定的参考价值 ,感兴趣的可以了解一下2023-09-09使用注解+RequestBodyAdvice实现http请求内容加解密方式
这篇文章主要介绍了使用注解+RequestBodyAdvice实现http请求内容加解密方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06
最新评论