import java.util.Random;
import java.util.Scanner;
public class Test27 {
public static void main(String[] args) {
//6个红球1个篮球号码组成,红球号码1-33,篮球号码1-16
//1.随机生成中奖号码
int[] arr = createNum();
System.out.println("=================================");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
System.out.println("=================================");
//2.用户输入号码
int[] userInputArr=userInputNum();
//3.判断中奖情况
//红球 蓝球
int redCount=0;
int blueCount=0;
//判断红球
for (int i = 0; i < userInputArr.length-1; i++) {
int redNumber=userInputArr[i];
for (int j = 0; j< arr.length-1; j++) {
if(redNumber==arr[j]){
redCount++;
//如果找到了那么后面的数字就没必要继续比较了
//跳出内循环,继续判断下一个红球号码是否中奖
break;
}
}
//
}
//判断蓝球中奖情况
int blueNumber=userInputArr[userInputArr.length-1];
if(blueNumber==arr[arr.length-1]){
blueCount++;
}
//根据红球,篮球个数判断中奖情况
if(redCount==6&&blueCount==1){
System.out.println("恭喜你中奖1000万");
}else if(redCount==6&&blueCount==0){
System.out.println("恭喜你中奖500万");
}else if(redCount==5&&blueCount==1){
System.out.println("恭喜你中奖3000元");
}else if((redCount==5&&blueCount==0)||(redCount==4&&blueCount==1)){
System.out.println("恭喜你中奖200元");
}else if((redCount==4&&blueCount==0)||(redCount==3&&blueCount==1)){
System.out.println("恭喜你中奖10元");
}else if((redCount==2&&blueCount==1)||(redCount==1&&blueCount==1)||(redCount==0&&blueCount==1)){
System.out.println("恭喜你中奖5元");
}else{
System.out.println("谢谢参与");
}
}
public static int[] userInputNum () {
//1.创建数组用于添加用户购买的彩票号码
int[] arr = new int[7];
Scanner sc = new Scanner(System.in);
//让用户输入红球号码
for (int i = 0; i < 6; ) {
System.out.println("请输入第" + (i + 1) + "个红球号码");
int redNumber = sc.nextInt();
//用户输入的红球号码需要在1-33之内,唯一且不重复
if (redNumber >= 1 && redNumber <= 33) {
boolean flag = contains(arr, redNumber);
if (!flag) {
//不存在说明有效可以添加到数组中
arr[i] = redNumber;
i++;
} else {
System.out.println("当前红球号码已经存在,请重新输入");
}
} else {
System.out.println("当前红球号码超出范围");
}
}
//让用户输入篮球号码,
System.out.println("请输入蓝球号码");
while (true) {
int blueNumber = sc.nextInt();
if (blueNumber >= 1 && blueNumber <= 16) {
arr[arr.length - 1] = blueNumber;
break;
} else {
System.out.println("当前蓝球号码不符合要求");
}
}
return arr;
}
public static int[] createNum () {
int[] arr = new int[7];
//随机生成号码并添加到数组中
//1.生成红球号码添加到数组中
Random r = new Random();
for (int i = 0; i < 6; ) {
int redNum = r.nextInt(33) + 1;
boolean flag = contains(arr, redNum);
if (!flag) {
//把红球号码添加到数组当中
arr[i] = redNum;
i++;
}
}
//生成篮球号码添加到数组中
int blueNum = r.nextInt(16) + 1;
arr[arr.length - 1] = blueNum;
return arr;
}
//判断数组在数组中是否存在
public static boolean contains ( int[] arr, int number){
for (int i = 0; i < arr.length; i++) {
if (arr[i] == number) {
return true;
}
}
return false;
}
}
运行结果: