import java.util.Random;
import java.util.Scanner;
public class code6 {
public static void main(String[] args) {
//创建中奖号码
//将用户输入的号码存入数组
int[] user=user();
//打印出用户输入的号码
print(user);
int[] user2=creat();
contrast(user,user2);
System.out.println("中奖号码是:");
print(user2);
}
//利用随机数生成去创建中奖号码数组
public static int[] creat(){
Random r=new Random();
int[] sum=new int[7];
//生成红球的六个中奖号码
for (int i = 0; i <sum.length-1; i++) {
while(true) {
int num = r.nextInt(1, 34);
//通过exist2方法去判断生成的数字是否重复
if(!exist(sum,num)){
sum[i]=num;
break;
}
}
}
//生成蓝球的中奖号码
int num1 = r.nextInt(1, 17);
sum[6]=num1;
return sum;
}
//去比较用户输入的双色球数组和系统随机生成的中奖数组是否相同
public static void contrast(int[] number,int[] number2){
int count=0;
for (int i = 0; i < number.length-1; i++) {
for (int j = 0; j < number2.length-1; j++) {
if(number[i]==number2[j]){
count++;
break;
}
}
}
int blue=(number[6]==number2[6]?1:0);
System.out.println("恭喜你命中红球个数为:"+count);
System.out.println("恭喜你命中蓝球个数为:"+blue);
}
//将用户的数组和系统生成的中奖数组打印出来
public static void print(int[] arr){
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
System.out.print(i==arr.length-1 ? arr[i] : arr[i]+",");
}
System.out.println("]");
}
//将用户输入的号码存入数组中
public static int[] user(){
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)+"个红球号码:");
int number=sc.nextInt();
//判断输入的号码是否符合要求
if(number>33||number<1){
System.out.println("输入错误,请重新输入:");
}else{
if(exist(numbers,number)){
System.out.println("输入重复");
}else{
numbers[i]=number;
break;
}
}
}
}
//输入蓝球的号码
while (true) {
System.out.println("请输入蓝球号码:");
int number=sc.nextInt();
if(number<1||number>16){
System.out.println("输入错误请重新输入:");
}else{
numbers[6]=number;
break;
}
}
return numbers;
}
//判断用户当前输入的号码与之前的号码是否重复
private static boolean exist(int[] numbers, int number) {
for (int i = 0; i < numbers.length; i++) {
if(numbers[i]==0){
break;
}
if(numbers[i]==number){
return true;
}
}
return false;
}
}
案例:实现双色球
于 2023-09-20 23:05:37 首次发布