双色球项目
1. 项目需求
双色球投注区分为红色球号码区和蓝色球号码区,
红色球号码区由1-33共33个号码组成,蓝色球号码区由1-16共16个号码组成。
投注时选择6个红球号码和1个蓝球号码组成一注进行单式投注。
一等奖:投注号码与当期开奖号码全部相同(顺序不限,下同),即中奖;
二等奖:投注号码与当期开奖号码中的6个红色球号码相同,即中奖;
三等奖:投注号码与当期开奖号码中的任意5个红色球号码和1个蓝色球号码相同,即中奖;
四等奖:投注号码与当期开奖号码中的任意5个红色球号码相同,或与任意4个红色球号码
和1个蓝色球号码相同,即中 奖;
五等奖:投注号码与当期开奖号码中的任意4个红色球号码相同,或与任意3个红色球号码
和1个蓝色球号码相同,即中 奖;
六等奖:投注号码与当期开奖号码中的1个蓝色球号码相同,即中奖。
要求:
1.模拟上述双色球操作。
2.实现机选中奖号码功能。
2. 界面显示
3. 代码实现
import java.util.*;
class 双色球
{
static int[] ticket=new int[7];
static int[] rw=new int[7];
public static void main(String[] args)
{
int s=0;
while (s!=3)
{
System.out.println("=========欢迎进入双色球彩票系统=========");
System.out.println("\t\t1.购买彩票");
System.out.println("\t\t2.查看开奖");
System.out.println("\t\t3.退出");
System.out.println("=============请输入您的选择=============");
Scanner sc=new Scanner(System.in);
s=sc.nextInt();
if (s==1)
{
System.out.println("现在进入购买彩票功能");
buyTicket();
}else if (s==2)
{
System.out.println("现在进入的是开奖功能");
reward();
}
}
}
public static void buyTicket(){
Scanner sc=new Scanner(System.in);
for (int i=0; i<ticket.length; i++)
{
if (i==ticket.length-1)
{
System.out.println("请输入蓝球的数值");
int sc1=sc.nextInt();
if (sc1>=1 && sc1<=16)
{
ticket[i]=sc1;
}else{
System.out.println("请您输入1-16的号码");
i-=1;
}
}else{
System.out.println("请输入第"+(i+1)+"个红球的数字");
int sc2=sc.nextInt();
if (sc2>=1 && sc2<=33)
{
boolean flag=false;
for (int k=0; k<i; k++)
{
if (ticket[k]==sc2)
{
flag=true;
break;
}
}
if (flag)
{
System.out.println("请不要输入重复的号码");
i-=1;
}else{
ticket[i]=sc2;
}
}else{
System.out.println("请您输入1-33的号码");
i-=1;
}
}
}
System.out.println("购买成功,您购买的彩票号码是:");
showTicket(ticket);
}
public static void showTicket(int[] ticket){
for (int i=0; i<ticket.length; i++)
{
System.out.print(ticket[i]+"\t");
}
System.out.println();
}
public static void reward(){
System.out.println();
makeRw();
System.out.println("您买的号码是:");
showTicket(ticket);
System.out.println("中奖号码是:");
showTicket(rw);
int count=0;
for (int i=0; i<rw.length-1; i++)
{
for (int j=0; j<ticket.length-1; j++)
{
if (rw[i]==ticket[j])
{
count+=1;
}
}
}
boolean flag=false;
if (ticket[ticket.length-1]==rw[rw.length-1])
{
flag=true;
}
if (flag && count==6)
{
System.out.println("恭喜您,中一等奖");
}else if (count==6)
{
System.out.println("恭喜您,中二等奖");
}else if (flag && count==5)
{
System.out.println("恭喜您,中三等奖");
}else if (count==5 || (count==4 && flag))
{
System.out.println("恭喜您,中四等奖");
}else if (count==4 || (count==3 && flag))
{
System.out.println("恭喜您,中五等奖");
}else if (flag)
{
System.out.println("恭喜您,中六等奖");
}else{
System.out.println("很遗憾,您这次没有中奖");
}
}
public static void makeRw(){
Random rd=new Random();
for (int i=0; i<rw.length-1;i++ )
{
boolean flag=false;
int a=rd.nextInt(33)+1;
for (int k=0; k<i; k++)
{
if (rw[k]==a)
{
flag=true;
break;
}
}
if (flag)
{
i-=1;
}else{
rw[i]=a;
}
}
rw[rw.length-1]=rd.nextInt(16)+1;
}
}