赢彩票的几率几乎为零?双色球彩票中奖任务揭晓
双色球玩法规则:“双色球”每注投注号码由 6 个红色球号码和 1 个蓝色球号码 组成。红色球号码从 1—33 中选择,蓝色球号码从 1—16 中选择。 球的数字匹配数量和颜色决定了是否中奖,具体中奖规则:!具体的逻辑如下:
1、创建一个红色号码球数组,长度为6,写一个循环给红色号码球随机赋值并检验是否有重复,重复就重新赋值;定义一个变量,给蓝色号码球随机赋值;
2、接下来分别创建变量接收用户输入的红色球号码(用循环)和蓝色球号码,并定义猜对红色球和蓝色球的个数变量;
3、最后,用循环累计猜对红色球的个数,用条件判断猜对蓝色球个数,通过蓝色球猜对个数为0或1再判断红色球猜对个数从而确定获得几等奖,并输出开奖号码。
代码如下:
public class Demo1 {
public static void main(String[] args) {
Random rand = new Random();//创建随机变量rand
int[] red = new int[6];//定义红色号码球数组
for (int i=0;i<6;i++) {//给6个红色号码球随机赋值
red[i] = rand.nextInt(33)+1;
}
for (int i=0;i<6;i++) {//检验红色号码球是否重复,重复就重新赋值,直到两两不想等为止
for (int j=i+1;j<6;j++) {
while(red[i]==red[j]) {
red[j] = rand.nextInt(33)+1;
}
}
}
int blue = rand.nextInt(16)+1;//给一个蓝色号码球随即赋值
Scanner scanner = new Scanner(System.in);//创建变量接受用户输入
System.out.print("请输入蓝色球号码(1-16):");
int useb = scanner.nextInt();//创建变量useb接受用户输入蓝色号码球
int[] user = new int[6];//创建一个user的数组接受用户输入的红色号码球
for(int i=0;i<6;i++) {
System.out.print("请输入红色球号码(1-33,且号码不能相同):");
user[i] = scanner.nextInt();
}
int countRed = 0;//定义猜对红色球个数
int countBlue = 0;//定义猜对蓝色球的个数
for(int i=0;i<6;i++) {//检验猜对红色球个数
for(int j=0;j<6;j++) {
if(red[i]==user[j]) {
countRed++;
}
}
}
if(blue == useb) {//检验猜对蓝色球个数
countBlue++;
}
if(countBlue==0) {//判断中了哪种奖
switch(countRed) {
case 4:
System.out.println("恭喜您中了五等奖!");
break;
case 5:
System.out.println("恭喜您中了四等奖!");
break;
case 6:
System.out.println("恭喜您中了二等奖!");
break;
case 0:
case 1:
case 2:
case 3:
System.out.println("抱歉,您未中奖!");
break;
}
}else {
switch(countRed) {
case 0:
case 1:
case 2:
System.out.println("恭喜您中了六等奖!");
break;
case 3:
System.out.println("恭喜您中了五等奖!");
break;
case 4:
System.out.println("恭喜您中了四等奖!");
break;
case 5:
System.out.println("恭喜您中了三等奖!");
break;
case 6:
System.out.println("恭喜您中了一等奖!");
break;
}
}
System.out.println("-----");
System.out.println("开奖号码是:");//打印随机生成的号码数
System.out.println("红色球号码:");
for(int i=0;i<6;i++) {
System.out.println(red[i]);
}
System.out.println("蓝色球号码:"+blue);
}
我试着输了二十次,一次没有中,不知道输多少次才能中一次,所以结论是:1、中大奖的机率在我这近乎为0;2、运气太差。