投注: 由6个红色球号码和1个蓝色球号码组成 红色球号码从1-33中选择, 蓝色球号码从1-16中选择
package com.jerry;
import java.util.Random;
import java.util.Scanner;
public class Test10 {
public static void main(String[] args) {
int[] arr1 = userSelectNumbers();
int[] arr2 = Luckynumbers();
if(CompareNumers(arr1, arr2)){
System.out.println("中奖咯");
}else{
System.out.println("没中奖");
}
}
public static int[] userSelectNumbers(){
// 提前创建一个整形数组用于存储用户选择的7个号码
int[] numbers = new int[7];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < numbers.length - 1; i++) {
while (true) {
System.out.println("请您输入第"+ i +"个红球号码(1-33)之间, 不能重复");
int number = sc.nextInt();
//判断是否在1-33
if (number < 1 || number > 33) {
System.out.println("您输入的红球号码错误, 需要在1-33之间");
}else{
if(exist(numbers, number)){
System.out.println("输入的号码重复了");
}else{
//没有重复了
numbers[i] = number;
break;
}
}
}
}
//投注蓝球
while (true) {
System.out.println("请您输入最后一个蓝球号码1-16");
int number = sc.nextInt();
if (number < 1 || number > 16) {
System.out.println("您输入的范围不对,请重新输入");
}else{
numbers[6] = number;
break;
}
}
return numbers;
}
public static boolean exist(int[] numbers, int number) {
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] == number){
return true;
}
}
return false;
}
//开发系统随机抽取6个红球号码+1个蓝球号码
public static int[] Luckynumbers() {
int[] numbers = new int[7];
Random r = new Random();
for (int i = 0; i < numbers.length - 1; i++) {
while (true) {
int number = r.nextInt(33) + 1;
if (!exist(numbers, number)) {
numbers[i] = number;
break;
}
}
}
//生成蓝球号码
numbers[6] = r.nextInt(16) + 1;
return numbers;
}
//开发一个比较方法
public static boolean CompareNumers(int[] arr1, int[] arr2) {
int[] arr3 = new int[arr1.length];
for (int i = 0; i < arr1.length; i++) {
if (arr1[i] == arr2[i]){
arr3[i] = 1;
}
}
int count = 0;
for (int i = 0; i < arr3.length; i++) {
count += arr3[i];
}
if (count == arr3.length){
return true;
}
return false;
}
}