双色球彩票问题
问题描述:双色球”每注投注号码由 6 个红色球号码和 1 个蓝色球号码 组成。红色球号码从 1—33 中选择,蓝色球号码从 1—16 中选择。 球的数字匹配数量和颜色决定了是否中奖,具体中奖规则:
实验思路:创建red[]数组存储中奖的红色球号,blue存储中奖的蓝色球号,输入6个抽取出来的红色球号和1个蓝色球号,使用count统计中红色球的概率,通过判断count的值和是否抽中蓝色球判断得奖与否。
/**
* 2020-08-03 09:24~10:56
*/
import java.util.Scanner;
public class Demo1 {
public static void main(String arg[]){
int[] red = new int[6];//存储随机生成的红色球
int blue;//存储随机生成的蓝色球
System.out.print("红球中奖号码是:");
for(int i=0;i<6;i++){
red[i] = (int)(Math.random()*33)+1;
System.out.print(red[i]+"\t");
}
System.out.println("");
blue = (int)(Math.random()*16)+1;
System.out.println("蓝球中奖号码是:"+blue);
System.out.print("请输入你抽取出来的红色球号码:");
Scanner sc = new Scanner(System.in);
int count = 0;//用于记录红色球中奖的个数
int a;//用于存储抽取出的红色球号码
for(int i=0;i<6;i++){
a = sc.nextInt();
while(a<1 || a>33){
System.out.print("输入的数字有误,请重新输入:");
a = sc.nextInt();
}
for(int j=0;j<6;j++){
if(a == red[j]){
count++;
break;
}
}
}
System.out.print("请输入你抽取出来的蓝色球号码:");
int b = sc.nextInt();;
while(b<1 || b>16){
System.out.print("输入的数字有误,请重新输入:");
b = sc.nextInt();
}
if((count == 6) && (b == blue))
System.out.println("恭喜获得一等奖!");
else if((count == 6) && (b != blue))
System.out.println("恭喜获得二等奖!");
else if((count == 5) && (b == blue))
System.out.println("恭喜获得三等奖!");
else if((count==5 && b!=blue) || (count==4 && b==blue))
System.out.println("恭喜获得四等奖!");
else if((count==4 && b!=blue) || (count==3 && b==blue))
System.out.println("恭喜获得五等奖!");
else if((count==2 && b==blue) || (count==1 && b==blue) || (count==0 && b==blue))
System.out.println("恭喜获得六等奖!");
else
System.out.println("很遗憾,没有获奖!");
}
}