双色球的中奖规则如下:
1、双色球总共有7个号码,6红1蓝,只要全部买中就会中一等奖(1000万)。
2、只要任意买中6个红球,就会中二等奖(500万)。
3、只要6个球中任意中5个红球+1个蓝球,就会中三等奖(3000元)。
4、只要6个球中任意选中5个红球,或者任意选中4个红球+1个蓝球,就会中四等奖(200元)。
5、只要6个球中任意选中4个红球,或者任意中3个红球+1个蓝球,就会中五等奖(10元)。
6、只要6个球中任意选中2个红球+1个蓝球,或者1个红球+1个蓝球,或者1个蓝球,都可以中六等奖(5元)。
总的来说,双色球中有7个号码,6红1蓝,只要6+1、6+0、5+1、5+0或4+1、4+0或3+1、2+1或1+1或0+1都是可以中奖的,只是中奖的金额不同。
进行中奖设置,首先我们要用系统随机生成一个7位数的中奖号码,且中奖号码红色的球(前六位不能重复1 ~ 36),蓝色的球可以重复(1~16).
调用随机函数(Random):
import java.util.Random; //导包
Random r=new Random(); //声明
int idex=r.nextInt(); //引用
设置第一个方法: judgeRead(){}目的是为了去掉奖项中的重复数字
public static boolean judgeRead(int number[],int readidex) //判断是否有重复
{
for(int i=0;i<number.length-1;i++)
{
//number[]中奖数值,右边是随机值,假如说随机值和中奖值重复返回true否则false
if(number[i]==readidex)
{
return true;
}
}
return false;
}
设置第二个方法: Creatnumber(){}目的是为了创建中奖号码
public static int[] creatNumber() //创建中奖号码
{
int number[]=new int[7]; //设置空数组
Random r=new Random(); //引用随机
for(int i=0;i<number.length-1;) //判断红球,并去重
{
int readIdex=r.nextInt(36)+1; //设定随机范围1~36
boolean flag=judgeRead(number,readIdex); //判断是否与数字重复
if(!flag) //假如说不相同进入体内
{
number[i]=readIdex; //把不相同的数值给数组
System.out.print(number[i]+" "); //输出
i++; //然后进行++操作
}
}
int blueNumber=r.nextInt(16)+1; //设定篮球范围 1~16
number[number.length-1]=blueNumber; //赋值给最后一个数
System.out.print( number[number.length-1]+" "); //输出
return number; //返回数组
}
设置第三个方法:usernumber(){}目的是为得到用户的信息
public static int[] userInputNumber() // 用户输入自己的号码
{
int user_number[]=new int[7]; //设置7个空间
Scanner sc=new Scanner(System.in);
Random r=new Random();
System.out.println("请您输入您的红色号码:");
for(int i=0;i<user_number.length-1;)
{
System.out.print("请输入"+(i+1)+"个球:");
int readnumber=sc.nextInt();
if(readnumber>=1&&readnumber<=36) //红球范围
{
boolean flag=judgeRead(user_number,readnumber); //去重
if(!flag) //假如说不同
{
user_number[i]=readnumber; //红球给数组
i++;
}
else //否则重新输入
{
System.out.println("当前号码以重复,请重新输入:");
}
}
else //否则重新输入
{
System.out.println("当前号码超出范围,请重新输入:");
}
}
while(true) //蓝色球 范围
{
System.out.print("请输入蓝球号码:");
int bluenumber=sc.nextInt();
if(bluenumber>1&&bluenumber<16)
{
user_number[user_number.length-1]=bluenumber; //在范围内赋值
break; //直接退出
}
else //如果超出范围重新输入
{
System.out.println("您输入的数字超出范围,请重新输入:");
}
}
return user_number; //返回用户的信息
}
设置第四个方法:目的是为了得到红球蓝球的个数
public static void judgeball() //判断中奖的球数
{
System.out.println("随机生成的中奖号码是:");
int arr[]=creatNumber(); //复制
System.out.println("");
System.out.println("\n\n进入用户数页面:\n");
int userarr[]=userInputNumber(); //复制
for(int i=0;i<userarr.length-1;i++)
{
for(int j=0;j<arr.length-1;j++)
{
if(userarr[i]==arr[j]) //假如说红球相同 +1
{
count++;
break;
}
}
}
if(arr[6]==userarr[6]) 假如说蓝球相同 +1
{
count1++;
}
System.out.println("红球中:"+count+"个,蓝球中:"+count1+"个");
//打印输出
}
调用第五个方法: judgeWard(){}目的是为了中奖金钱
public static void judgeWard() //判断能得到多少钱?
{
switch(count)
{
case 0:
case 1: if(count1==1) {System.out.println("获得5元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
case 2:if(count1==1) {System.out.println("获得10元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
case 3:if(count1==1) {System.out.println("获得10元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
case 4:if(count1==0) {System.out.println("获得10元奖励");} else{System.out.println("获得200元奖励");}break;
case 5:if(count1==0) {System.out.println("获得200元奖励");} else{System.out.println("获得3000元奖励");}break;
case 6:if(count1==0) {System.out.println("获得500万元奖励");} else{System.out.println("获得1000万元奖励");}break;
}
}
调用第六个方法:主函数
public static void main(String []avgs)
{
judgeball();
judgeWard();
}
package test; // 包名
import java.util.Random;
import java.util.Scanner;
public class test1 { //项目名
static int count=0,count1=0;
public static int[] creatNumber() //创建中奖号码
{
int number[]=new int[7]; //创建中奖数组
Random r=new Random();
for(int i=0;i<number.length-1;)
{
int readIdex=r.nextInt(36)+1;
boolean flag=judgeRead(number,readIdex);
if(!flag)
{
number[i]=readIdex;
System.out.print(number[i]+" ");
i++;
}
}
int blueNumber=r.nextInt(16)+1;
number[number.length-1]=blueNumber;
System.out.print( number[number.length-1]+" ");
return number;
}
public static boolean judgeRead(int number[],int readidex) //判断是否有重复
{
for(int i=0;i<number.length-1;i++)
{
if(number[i]==readidex)
{
return true;
}
}
return false;
}
public static int[] userInputNumber() // 用户输入自己的号码
{
int user_number[]=new int[7];
Scanner sc=new Scanner(System.in);
Random r=new Random();
System.out.println("请您输入您的红色号码:");
for(int i=0;i<user_number.length-1;)
{
System.out.print("请输入"+(i+1)+"个球:");
int readnumber=sc.nextInt();
if(readnumber>=1&&readnumber<=36)
{
boolean flag=judgeRead(user_number,readnumber);
if(!flag)
{
user_number[i]=readnumber;
i++;
}
else
{
System.out.println("当前号码以重复,请重新输入:");
}
}
else
{
System.out.println("当前号码超出范围,请重新输入:");
}
}
while(true)
{
System.out.print("请输入蓝球号码:");
int bluenumber=sc.nextInt();
if(bluenumber>1&&bluenumber<16)
{
user_number[user_number.length-1]=bluenumber;
break;
}
else
{
System.out.println("您输入的数字超出范围,请重新输入:");
}
}
return user_number;
}
public static void judgeball() //判断中奖的球数
{
System.out.println("随机生成的中奖号码是:");
int arr[]=creatNumber();
System.out.println("");
System.out.println("\n\n进入用户数页面:\n");
int userarr[]=userInputNumber();
for(int i=0;i<userarr.length-1;i++)
{
for(int j=0;j<arr.length-1;j++)
{
if(userarr[i]==arr[j])
{
count++;
break;
}
}
}
if(arr[6]==userarr[6])
{
count1++;
}
System.out.println("红球中:"+count+"个,蓝球中:"+count1+"个");
}
public static void judgeWard() //判断能得到多少钱?
{
switch(count)
{
case 0:
case 1: if(count1==1) {System.out.println("获得5元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
case 2:if(count1==1) {System.out.println("获得10元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
case 3:if(count1==1) {System.out.println("获得10元奖励");} else {System.out.println("很抱歉,没中奖!");}break;
case 4:if(count1==0) {System.out.println("获得10元奖励");} else{System.out.println("获得200元奖励");}break;
case 5:if(count1==0) {System.out.println("获得200元奖励");} else{System.out.println("获得3000元奖励");}break;
case 6:if(count1==0) {System.out.println("获得500万元奖励");} else{System.out.println("获得1000万元奖励");}break;
}
}
public static void main(String []avgs)
{
judgeball();
judgeWard();
}
}
双色球