此次规则是从1-33抽6个红球,且球号不能重复,从1-16中抽取一个篮球,根据猜中的号码来判断奖项
六等奖:0红1蓝、1红1蓝
五等奖:2红1蓝、3红1蓝
四等奖:4红0蓝、4红1蓝
三等奖:5红0蓝、5红1蓝
二等奖:6红0蓝
一等奖:6红1蓝
//代码块中的判断语句也可用switch case 语句简化
//前6个红球号码只要有相同的就算中奖,不分顺序。例如:奖:123456,输入654321,同样是中奖。
import java.util.Random;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
int[] arr = hoaMa();
//判断红球号码是否有误
for (int i = 0; i < arr.length; i++) {
System.out.print(" 中奖号码"+arr[i]);
}
System.out.println();
int[] arr1 = userInputNumber();
int a1 = 0,b1 = 0;
//用变量a1得红色号相同个数
for (int i = 0; i < arr.length - 1; i++) {
for (int i1 = 0; i1 < arr1.length - 1; i1++) {
if(arr1[i1] == arr[i]){
a1++;
break;
}
}
}
//用变量b1判断蓝色号是否相同
if(arr[arr.length - 1] == arr1[arr1.length - 1]){
b1 = 1;
}
if(a1 == 0 && b1 ==1){
System.out.println("中六等奖奖5元");
}else if(a1 == 1 && b1 == 1){
System.out.println("中六等奖奖5元");
}else if(a1 == 2 && b1 == 1){
System.out.println("中五等奖奖10元");
}else if(a1 == 3 && b1 == 1){
System.out.println("中五等奖奖10元");
}else if(a1 == 4 && b1 == 1){
System.out.println("中四等奖奖200元");
}else if(a1 == 4 && b1 == 0){
System.out.println("中四等奖奖200元");
}else if(a1 == 5 && b1 == 1){
System.out.println("中三等奖奖3000元");
}else if(a1 == 5 && b1 == 0){
System.out.println("中三等奖奖3000元");
}else if(a1 == 6 && b1 == 0){
System.out.println("中二等奖奖500万元");
}else if(a1 == 6 && b1 == 1){
System.out.println("中一等奖奖1000万元");
}else{
System.out.println("很抱歉您没有中奖");
}
}
//定义一个方法让用户输入一个号码
public static int[] userInputNumber(){
int[] arr1 = new int[7];
Scanner input = new Scanner(System.in);
for (int i = 0; i < 6; i++) {
System.out.println("请输入第"+(i+1)+"红球号码");
arr1[i] = input.nextInt();
while(arr1[i] < 1 || arr1[i] > 33){
System.out.println("您输入的第"+(i+1)+"红球号码不符合规定,请重新输入第"+(i+1)+"红球号码");
arr1[i] = input.nextInt();
}
}
System.out.println("请输入蓝球号码");
arr1[arr1.length - 1] = input.nextInt();
while(arr1[arr1.length - 1] < 1 || arr1[arr1.length - 1] > 17){
System.out.println("您输入的篮球号码不符合规定,请重新输入蓝球号码");
arr1[arr1.length - 1] = input.nextInt();
}
return arr1;
}
//定义一个方法,接受传回的数组
//数组前6位是红球号码,最后一位是蓝球号码
public static int[] hoaMa(){
//定义一个数组存放号码
int[] arr = new int[7];
Random r = new Random();
for (int i = 0; i < 6;) {
int redNum = r.nextInt(33) + 1;
boolean flag = panDuan(arr,redNum);
if(!flag){
arr[i] = redNum;
//当相同时i不进行自增一直循环,直到不相同;
i++;
}
}
arr[arr.length - 1] = r.nextInt(16) + 1;
return arr;
}
//定义一个方法判断产生的红球号码是否重复
public static boolean panDuan(int[] arr,int number){
for (int i = 0; i < 6; i++) {
if(arr[i] == number){
return true;
}
}
return false;
}
}