双色球系统主要分三大模块:luckNumbers userInputNumbers 以及对比判断(judge)
package practice;
import java.util.Random;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//随机6个红球号码(1-33,不重复),随机一个蓝球号码(1-16),可以采用数组装起来作为中奖号码
int[] luckNumbers = cteatLuckNumber();
//用户选号
int[] userNumbers = userInputNumber();
//判断中奖情况
judge(luckNumbers,userNumbers);
}
public static void printArray(int[] numbers){
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i]+" ");
}
System.out.println();
}
public static int[] cteatLuckNumber(){
int[] numbers=new int[7];
//生成6个不重复的红球号码
Random r = new Random();
for (int i = 0; i < 6; i++) {
while(true) {
int data = r.nextInt(33) + 1;
boolean flag = true;
for (int j = 0; j < i; j++) {
if (numbers[j] == data) {
flag = false;
break;
}
}
if (flag) {
numbers[i] = data;
break;
}
}
}
//生成一个蓝球号码
numbers[6] = r.nextInt(16)+1;
return numbers;
}
public static int[] userInputNumber(){
int[] numbers=new int[7];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < numbers.length-1; i++) {
System.out.println("请您输入第"+(i+1)+"个红球号码(1-33,不重复)");
numbers[i] = sc.nextInt();
}
System.out.println("请您输入蓝球号码(1-16)");
numbers[6] = sc.nextInt();
return numbers;
}
public static void judge(int[] luckNumbers,int[] userNumbers){
int redHitnumbers=0;
int blueHitnumbers=0;
for (int i = 0; i < luckNumbers.length-1; i++) {
for (int j = 0; j < userNumbers.length-1; j++) {
if(userNumbers[j] == luckNumbers[i]){
redHitnumbers++;
break;
}
}
}
blueHitnumbers= userNumbers[6]==luckNumbers[6] ? 1 : 0;
//判断中奖情况
System.out.println("中奖号码是: ");
printArray(luckNumbers);
System.out.println("您投注的号码是: ");
printArray(userNumbers);
System.out.println("您命中红球的个数是: "+redHitnumbers);
System.out.println("您是否命中蓝球: "+ (blueHitnumbers==1?"是":"否"));
if(blueHitnumbers==1 && redHitnumbers<3){
System.out.println("恭喜您中了六等奖5元!");
} else if (blueHitnumbers == 1 && redHitnumbers == 3 ||
blueHitnumbers ==0 && redHitnumbers==4) {
System.out.println("恭喜您中了五等奖10元!");
}else if (blueHitnumbers == 1 && redHitnumbers == 4 ||
blueHitnumbers ==0 && redHitnumbers==5) {
System.out.println("恭喜您中了四等奖200元!");
}else if (blueHitnumbers == 1 && redHitnumbers == 5) {
System.out.println("恭喜您中了三等奖3000元!");
}else if (blueHitnumbers == 0 && redHitnumbers == 6) {
System.out.println("恭喜您中了二等奖500万元!");
}else if (blueHitnumbers == 1 && redHitnumbers == 5) {
System.out.println("恭喜您中了一等奖1000万元!");
}else {
System.out.println("感谢您为福利事业作出的突出贡献!");
}
}
}