package com.hrf.java05;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class LotterySystem3D {
// 循环
// 键盘输入
// 2维数组
// 方法调用和返回值
// 简单的屏幕格式控制
private static Scanner sc = new Scanner(System.in);
private static Random r = new Random();
private static int surplus = 10000000; // 剩余钱
private static int maxCount = 100; // 用来统计最大购买数
private static int[][] arr = new int[maxCount][4];
private static int index = 0;
private static int thePage = 0;// 是否留在该页面上
private static boolean flag = true;
public static void main(String[] args) {
optional();
}
// 3D彩票系统要实现 查询余额,充值,自选彩票,机选彩票,查看购买彩票,开奖,退出等功能
// 选择序号
public static void optional() {
program();
System.out.println("请输入你要选择的项目数字 : ");
while (true) {
int num = sc.nextInt();
if (num >= 0 && num <= 6) {
switch (num) {
case 1:
// 查看余额
blance();
break;
case 2:
// 进行充值
recharge();
break;
case 3:
// 自选
selfOptionalLottery();
break;
case 4:
// 机选
machineOptionalLottery();
break;
case 5:
// 查看购买彩票
findBuyLottery();
break;
case 6:
// 开奖
drawPrice();
break;
case 0:
// 退出
exit();
return;
}
} else {
System.out.println("你输入的数字有误,请重新输入:");
program();
}
}
}
// 属性元素,主菜单
public static void program() {
System.out.println("------华丽分割线------");
System.out.println("1.查看余额");
System.out.println("2.充值");
System.out.println("3.自选");
System.out.println("4.机选");
System.out.println("5.查看购买彩票");
System.out.println("6.开奖");
System.out.println("0.退出");
}
// 1.查看余额
public static void blance() {// 初始余额
System.out.println("当前余额为:" + surplus + "元");
optional();
}
// 2.充值
public static void recharge() {
System.out.println("充值活动:充50送20元,充100送50元,充500送300元");
System.out.println("请输入充值额度:");
int money = sc.nextInt();
if (money >= 50 && money < 100) {
money += 20;
surplus += money;
System.out.println("充值成功 ! 当前余额为:" + surplus);
} else if (money >= 100 && money < 500) {
money += 50;
surplus += money;
System.out.println("充值成功 ! 当前余额为:" + surplus);
} else if (money >= 500) {
money += 300;
surplus += money;
System.out.println("充值成功 ! 当前余额为:" + surplus);
} else if (money < 0) {
System.out.println("输入有误,请重新输入:");
recharge();
} else {
surplus += money;
System.out.println("充值成功 ! 当前余额为:" + surplus);
}
System.out.println("1.继续充值 , 2.退出");
System.out.println("请选择:");
int re = sc.nextInt();
if (re == 1) {
recharge();
}
if (re == 2) {
optional();
}
}
// 3.自选
public static void selfOptionalLottery() {
System.out.println("请输入购买彩票的类型: 1.直选 , 2.组六");
int n = sc.nextInt();
if (n == 1 || n == 2) {
System.out.println("请输入号码(0~9):");
int num1 = sc.nextInt();
int num2 = sc.nextInt();
int num3 = sc.nextInt();
if ((num1 >= 0 && num1 <= 9) && (num2 >= 0 && num2 <= 9) && (num3 >= 0 && num3 <= 9)) {
arr[index] = new int[] { num1, num2, num3, n };
index++;
surplus -= 5;
System.out.println("购买成功!");
optional();
} else {
System.out.println("输入有误,请重新输入");
selfOptionalLottery();
}
}
}
// 4.机选
public static void machineOptionalLottery() {
System.out.println("请输入购买彩票的类型: 1.直选 , 2.组六");
int n1 = sc.nextInt();
if(n1 == 1 || n1 == 2) {
System.out.println("输入要买多少注:");
int count = 0;
while(true) {
// maxCount += 100;
// System.out.println(" ++" + maxCount);
count = sc.nextInt();//输入要买的注数
if(count > 0) {
if(count + index > maxCount) {
System.out.println("超过最大购买次数!");//最大购买菜次数为100
System.out.println("请重新输入:");
}else if(count * 5 < surplus) {
// System.out.println("你买的注数是:" + count);
break;//跳出循环
}else {
System.out.println("余额不足请先充值!为你跳到菜单页面!");
optional();//到菜单页面
}
}else {
System.out.println("你的输入有误,请重新输入:");
}
}
for (int i = 0; i < count; i++) {
int num1 = r.nextInt(10);
int num2 = r.nextInt(10);
int num3 = r.nextInt(10);
arr[index] = new int[] {num1, num2, num3, n1};
index++;
}
surplus -= count * 5;
System.out.println("机选" + count + "次");
optional();
}else {
System.out.println("你输入的有误,请重新输入:");
machineOptionalLottery();
}
}
// 5.查看购买彩票
public static void findBuyLottery() {
for (int i = 0; i < index; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(arr[i][j] + " ");
}
if(arr[i][3] == 1) {
System.out.println("直选");
}else {
System.out.println("组六");
}
}
optional();
}
// 6.开奖
public static void drawPrice() {
System.out.println("开奖号码:");
int[] price = new int[3];
for (int i = 0; i < price.length; i++) {
price[i] = r.nextInt(10);
System.out.print(price[i] + " ");
}
System.out.println();
for (int i = 0; i < index; i++) {
int type = arr[i][3];
if(type == 1) {
int[] temp = arr[i];
if(isTwoArrEqual(price, temp)) {
System.out.println("恭喜你中了100元");
surplus += 100;
// break;
}else {
System.out.println("很遗憾你没有中奖!请再接再厉!");
}
}else {
int[] array = arr[i];
int[] arr1 = {price[0], price[1], price[2]};
int[] arr2 = {array[0], array[1], array[2]};
Arrays.sort(arr1);
Arrays.sort(arr2);
if(isTwoArrEqual(arr1, arr2)) {
System.out.println("恭喜你中了100元");
surplus += 100;
// break;
}else {
System.out.println("很遗憾你没有中奖!请再接再厉!");
}
}
}
optional();
}
// 判断两个数组是否相等
private static boolean isTwoArrEqual(int[] arr1, int[] arr2) {
for (int i = 0; i < index; i++) {
if(arr1[i] != arr2[i]) {
return false;
}
}
return true;
}
// 0.退出
public static void exit() {
System.out.println("欢迎下次光临!");
}
}
3D彩票系统
最新推荐文章于 2024-01-06 13:49:13 发布