Java实战入门之双色 * 票小游戏
作者:小小龙o0 时间:2023-05-12 04:07:13
一、项目需求
二、项目思路
1、菜单制作
2、中奖号码生成 getNumber (随机数 Math.random)
3、购买号码和中奖号码比对 生成中奖等级
三、完整代码
package com.test.mxl;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int[] balls = new int[7];
int count = 0;
boolean isBuy = false;//默认情况下没有买彩票
while (true){
System.out.println("------------欢迎进入双色 * 票系统----------------");
System.out.println("1、购买彩票");
System.out.println("2、查看开奖");
System.out.println("3、退出");
System.out.println("请选择你要完成的功能");
Scanner sc = new Scanner(System.in);
int choice = sc.nextInt();
switch (choice){
case 1:
System.out.println("双色球系统》》购买彩票");
System.out.println("请选择你要购买几注:");
count = sc.nextInt();
//定义一个变量 如果每购买提示不能直接开奖
for (int i = 1; i <= 7; i++) {
if(i != 7){//录入红色
System.out.println("请录入第"+i+"个红球");
balls[i-1] = sc.nextInt();
}else { //录入蓝色
System.out.println("请录入一个蓝色球");
balls[i-1] = sc.nextInt();
}
}
System.out.println("您购买了"+count+"注彩票,一共消费了"+count*2+"元钱,您购买的彩票号码为: ");
//遍历数组
for (int num: balls) {
System.out.print(num+"\t");
}
System.out.println();
isBuy = true;
break;
case 2:
if (isBuy){
System.out.println("双色球系统》》查看开奖");
//1 生成
int[] luckBalls= getNumber();
//2 对比
int level = getlevel(balls,luckBalls);
//3 显示结果
System.out.println("本期中奖号码为:"+luckBalls[0]+" "+luckBalls[1]+" "+luckBalls[2]+" "+luckBalls[3]+" "+luckBalls[4]+" "+luckBalls[5]+" "+luckBalls[6]);
switch (level){
case 1:
System.out.println("恭喜您,中了一等奖,1注奖金500万,您一共获得: "+500*count+"万元");
break;
case 2:
System.out.println("恭喜您,中了二等奖,1注奖金100万,您一共获得: "+100*count+"万元");
break;
case 3:
System.out.println("恭喜您,中了三等奖,1注奖金30万,您一共获得: "+30*count+"万元");
break;
case 4:
System.out.println("恭喜您,中了四等奖,1注奖金5万,您一共获得: "+5*count+"万元");
break;
case 5:
System.out.println("恭喜您,中了五等奖,1注奖金2000千元,您一共获得: "+2000*count+"元");
break;
case 6:
System.out.println("恭喜您,中了六等奖,1注奖金5元,您一共获得: "+5*count+"元");
break;
}
}else {
System.out.println("对不起,请先购买彩票");
}
break;
case 3:
System.out.println("双色球系统》》退出");
return;
}
}
}
public static int[] getNumber(){
int[] getNumber = new int[7];
//随机数生成:红球 1-33,篮球1-16, Math.random() --[0.0,1.0) 可乘数;
for (int i = 1; i <= 7; i++) {
if(i != 7){
getNumber[i-1] = (int)(Math.random()*33 + 1);
}else {
getNumber[i-1] = (int)(Math.random()*16 + 1);
}
}
return getNumber;
}
//比对是否中奖,中几等奖
public static int getlevel(int[] balls,int[] luckBalls){
//设置两个计数 红球和篮球 每相同一个就加一次。
int level = 0;
int redCount = 0;
int blueCount = 0;
//遍历购买的号码
for (int i = 0; i < 7; i++) {
if (i != 6){
for (int j = 0; j < 6; j++) {
if (balls[i] == luckBalls[j]){
redCount++;
}
}
}else { //篮球中奖
if(balls[6] == luckBalls[6]){
blueCount++;
}
}
}
//输出比对结果
//根据红蓝球相等数量得到level结果
if(redCount == 6 && blueCount == 1){
level = 1;
}
else if(redCount == 6 ){
level = 2;
}
else if(redCount == 5 && blueCount == 1){
level = 3;
}
else if(redCount == 5 || (redCount == 4 && blueCount==1)){
level = 4;
}
else if (redCount == 4 || (redCount == 3 && blueCount==1)){
level = 5;
}else {
level = 6;
}
return level;
}
}
四、功能演示
来源:https://blog.csdn.net/weixin_46777885/article/details/116023186
标签:java,双色球,彩票,小游戏
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java Timer使用讲解
2023-11-28 20:30:33
Spring Boot Redis 集成配置详解
2022-12-05 20:57:59
Java判断两个日期相差天数的方法
2021-11-29 05:55:07
Flutter 底部弹窗如何实现多项选择
2023-06-24 17:08:17
![](https://img.aspxhome.com/file/2023/7/84707_0s.gif)
Mybatis整合达梦数据库的完整步骤记录
2023-11-23 07:15:37
![](https://img.aspxhome.com/file/2023/5/59215_0s.png)
Java8中CompletableFuture的用法全解
2023-09-08 15:08:55
![](https://img.aspxhome.com/file/2023/8/58468_0s.png)
java 进制转换实例详解
2023-07-05 11:53:45
Java利用移位运算将int型分解成四个byte型的方法
2023-11-09 08:25:00
![](https://img.aspxhome.com/file/2023/4/59334_0s.png)
springboot集成mybatisPlus+多数据源的实现示例
2023-11-24 22:35:02
![](https://img.aspxhome.com/file/2023/4/59924_0s.png)
JAVA8之函数式编程Function接口用法
2022-01-04 04:03:04
![](https://img.aspxhome.com/file/2023/6/63276_0s.jpg)
深入浅出讲解Java集合之Map接口
2023-10-14 20:52:46
![](https://img.aspxhome.com/file/2023/6/62816_0s.png)
Android中bindService基本使用方法概述
2023-08-05 19:18:56
![](https://img.aspxhome.com/file/2023/6/85446_0s.png)
三分钟快速掌握Java中枚举(enum)
2023-11-27 09:46:30
Java泛型机制与反射原理相关知识总结
2023-11-11 06:02:15
![](https://img.aspxhome.com/file/2023/4/58914_0s.jpg)
SpringBoot AOP控制Redis自动缓存和更新的示例
2023-08-31 17:34:37
SpringMVC执行步骤、Model的使用详解
2022-02-13 05:38:45
![](https://img.aspxhome.com/file/2023/2/62352_0s.png)
Android开发之自定义加载动画详解
2023-07-27 01:41:05
![](https://img.aspxhome.com/file/2023/0/85980_0s.png)
IDEA java出现无效的源发行版14解决方案
2021-06-25 08:50:33
![](https://img.aspxhome.com/file/2023/2/62172_0s.png)
java实现大文件分割与合并的实例代码
2023-11-11 04:31:21
JAVA JNI函数的注册过程详细介绍
2023-02-07 18:41:17