1.使用到了一个数组存储随机生成的双色球号码
2.使用了一个字符串数组,通过空格来隔开每一个用户输入的号码,然后使用强转将其存储到用户数组里
3.通过统计用户中奖号码的个数,进行奖项的判断
4.使用了switch函数,将用户中奖的奖金用作结果返回给主函数,然后判断用户是否中奖来分别进行输出奖金
import java.util.Random;
import java.util.Scanner;
public class test7 {
public static void main(String[] args) {
//1.生成一个随机中奖号码
int arr[]=creatNumber();
//2.用户输入购买的彩票号码
int userarr[]=usernumber();
for (int i = 0; i <creatNumber().length ; i++) {
System.out.print(creatNumber()[i]+" ");
}
System.out.println(" ");
//3.判断中奖个数
int userred=getbonusred(arr,userarr);
int userbule=getbonusbule(arr,userarr);
//4.获得的奖金
int count=bonus(userred,userbule);
if (count!=0){
System.out.println("恭喜您中奖了!!!");
System.out.println("您的中奖金额为:"+count);
}
else
System.out.println("很遗憾,您没有中奖,再来一次吧!!" );
}
public static int[] creatNumber(){
int[]arr=new int[7];
Random r=new Random();
for (int i = 0; i < 6; ) {
int number=r.nextInt(33)+1;
boolean flag=Exit(arr,number);
if (!flag){
arr[i]=number;
i++;
}
}
arr[6]=r.nextInt(16)+1;
return arr;
}
public static boolean Exit(int []arr,int number){
for (int i = 0; i < arr.length-2; i++) {
if (arr[i]==number){
return true;
}
}return false;
}
public static int [] usernumber(){
int[]arr=new int[7];
System.out.println("请输入您要购买的双色球号码,一共七个数字,以空格隔开数字,最后一个为特奖号码:");
Scanner sc=new Scanner(System.in);
String inputnumber=sc.nextLine();
String stringArray[]=inputnumber.split(" ");
for (int i = 0; i < stringArray.length; i++) {
arr[i]=Integer.parseInt(stringArray[i]);
}
return arr;
}
public static int getbonusred(int[]array1,int []array2){
int count=0;
for (int i = 0; i < array1.length-1; i++) {
for (int j = 0; j < array2.length-1; j++) {
if (array1[i]==array2[j]){
count++;
}
}
}
return count;
}
public static int getbonusbule(int[]array1,int []array2){
int flag=0;
if (array1[6]==array2[6]){
flag=1;
}
return flag;
}
public static int bonus(int number1,int number2){
int count=0;
switch (number1){
case 0:switch (number2) {case 1:count=0;break;}break;
case 1:
switch (number2){ case 1:count=5;break;}break;
case 2:
case 3:
switch (number2){ case 1:count=10;break;}break;
case 4:
switch (number2){
case 0:count=100;break;
case 1:count=200;break;
}break;
case 5:switch (number2){
case 0:count =1000;break;
case 1:count=3000;break;
}break;
case 6:switch (number2){
case 0:count=200000;break;
case 1:count=5000000;break;
}break;
}
return count;
}
}