package day0819
import java.text.DecimalFormat
import java.text.NumberFormat
import java.util.Arrays
public class demo08 {
public static void main(String[] args) {
play()
}
// 机选
public static void play() {
NumberFormat format = new DecimalFormat("###,###")
int playNum = 100000000
int[] targetArr1 = {3, 4, 7, 12, 19}
int[] targetArr2 = {2, 5}
long num = 0
boolean flag = false
for (int i = 0
int[] a = Arrays.copyOf(getRandomArr(5, 35), 5)
int[] b = Arrays.copyOf(getRandomArr(2, 12), 2)
num++
System.out.print(Arrays.toString(a) + " " + Arrays.toString(b) + "\t\t第" + format.format(num) + "注\n")
if (compare(a, targetArr1) && compare(b, targetArr2)) {
flag = true
break
}
}
if (flag) {
System.out.println("\n中奖了!共投了" + format.format(num) + "注,花费" + format.format(num * 2) + "元")
System.out.println("目标号码是:" + Arrays.toString(targetArr1) + Arrays.toString(targetArr2))
} else {
System.out.println("\n未中奖,共投了" + format.format(num) + "注,花费" + format.format(num * 2) + "元")
System.out.println("目标号码是:" + Arrays.toString(targetArr1) + Arrays.toString(targetArr2))
}
System.out.println("\n退出游戏")
}
// 几选几 a是选几个,b是1-b内选择
public static int[] getRandomArr(int a, int b) {
int[] randomArr = new int[a]
int rNum = -1
for (int i = 0
do {
rNum = getRandomNum(1, b)
} while (isInArr(randomArr, rNum))
randomArr[i] = rNum
}
return randomArr
}
// 比较两个数组内容是否相等,乱序
public static boolean compare(int[] a, int[] b) {
Arrays.sort(a)
Arrays.sort(b)
for (int i = 0
if (a[i] != b[i]) {
return false
}
}
return true
}
// 得到随机数
public static int getRandomNum(int min, int max) {
return (int) (min + Math.random() * (max - min + min))
}
// 判断该元素在数组内是否重复
public static boolean isInArr(int[] a, int b) {
for (int j : a) {
if (j == b) {
return true
}
}
return false
}
}