买彩票判断是否中奖,中奖后判断是几等奖
双色球投注区分为红色球号码区和蓝色球号码区,
红色球号码区由1-33共33个号码组成,蓝色球号码区由1-16共16个号码组成。
投注时选择6个红球号码和1个蓝球号码组成一注进行单式投注,每注金额2元。
一等奖:投注号码与当期开奖号码全部相同(顺序不限,下同),即中奖;
二等奖:投注号码与当期开奖号码中的6个红色球号码相同,即中奖;
三等奖:投注号码与当期开奖号码中的任意5个红色球号码和1个蓝色球号码相同,即中奖;
四等奖:投注号码与当期开奖号码中的任意5个红色球号码相同,或与任意4个红色球号码和1个蓝色球号码相同,即中奖;
五等奖:投注号码与当期开奖号码中的任意4个红色球号码相同,或与任意3个红色球号码和1个蓝色球号码相同,即中奖;
六等奖:投注号码与当期开奖号码中的1个蓝色球号码相同,即中奖。
显示中奖结果的同时显示您一共下注人民币??元,累计中奖人民币??元
import java.util.Scanner;
public class Lottery {
private static Scanner can = new Scanner(System.in);
private static int money = 0;
private static int arrs[] = new int[7];
private static int count = 0;
public static void main(String[] args){
menu(false);
}
private static void menu(boolean isBuy) {
//boolean isBuy = false;
System.out.println("**************************欢迎进入双色球彩票系统**************************");
System.out.println("\t1.购买彩票");
System.out.println("\t2.查看开奖");
System.out.println("\t3.退出");
System.out.println("**************************************************************************");
System.out.print("请选择菜单:");
int choice = can.nextInt();
//int arrs[] = new int[7];
switch (choice){
case 1:
System.out.println("[双色球彩票系统 > 购买彩票]");
System.out.println("您需要下多少注?:");
count = can.nextInt();
money = count * 2;
for(int i = 0;i<arrs.length;){
if(i<arrs.length-1){
System.out.println("请输入6个不重复的红色球号<数字为1-33>,第【"+(i+1)+"】个红色球号为:");
int redNum = can.nextInt();
if(redNum > 33 || redNum < 1){
System.out.println("您所选的红色号码球不在<1-33>范围内,请重新操作。");
continue;
}
arrs[i] = redNum;
}else {
System.out.println("请输入1个蓝色球号<数字为1-16>,第【"+(i+1)+"】个蓝色球号为:");
int blueNum = can.nextInt();
if(blueNum > 16 || blueNum < 1){
System.out.println("您所选的红色号码球不在<1-33>范围内,请重新操作。");
continue;
}
arrs[i] = blueNum;
}
i++;
}
isBuy = true;
//输出已经买好的彩票
System.out.print("您一共买了【"+count+"】注,共需支付【"+money+"】元,所选号为");
for (int value : arrs){
System.out.print(value+"\t");
}
System.out.println();
menu(isBuy);
break;
case 2:
if(isBuy){//判断是否购买了彩票
//isBuy = false;
//调用方法得到一个随机的中奖号
int luckNum[] = getluckNum();
System.out.print("已买的彩票号为:");
for (int value : arrs){
System.out.print(value+"\t");
}
System.out.println();
System.out.print("当期的中奖号为:");
//输出当期的中奖号
for (int value : luckNum){
System.out.print(value+"\t");
}
System.out.println();
//判断获奖等级
int result = getResult(arrs,luckNum);
//输出结果
if(result == 1){
System.out.println("【一等奖】,恭喜你!!共下了【"+count+"】注,投资【"+money+"】元,获奖【"+(500*count)+"】万元");
count = 0;
}else if(result == 2){
System.out.println("【二等奖】,恭喜你!!共下了【"+count+"】注,投资【"+money+"】元,获奖【"+(400*count)+"】万元");
count = 0;
}else if(result == 3){
System.out.println("【三等奖】,恭喜你!!共下了【"+count+"】注,投资【"+money+"】元,获奖【"+(300*count)+"】万元");
count = 0;
}else if(result == 4){
System.out.println("【四等奖】,恭喜你!!共下了【"+count+"】注,投资【"+money+"】元,获奖【"+(200*count)+"】万元");
count = 0;
}else if(result == 5){
System.out.println("【五等奖】,恭喜你!!共下了【"+count+"】注,投资【"+money+"】元,获奖【"+(100*count)+"】万元");
count = 0;
}else if(result == 6){
System.out.println("【六等奖】,恭喜你!!共下了【"+count+"】注,投资【"+money+"】元,获奖【"+(5*count)+"】万元");
count = 0;
}else {
System.out.println("【望再接再厉】,sorry!!共下了【"+count+"】注,投资【"+money+"】元,获奖【0】万元");
count = 0;
}
menu(false);
break;
}else{
System.out.println("请先购买彩票,再查看开奖情况");
menu(false);
break;
}
case 3:
System.out.println("已退出");
return;
}
return;
}
private static int[] getluckNum(){//随机中奖号并去重
int luckNum[] = new int[7];
int startArrays[] = new int [8];//定义长度为34的数组用于判断随机去重//34
for(int j = 1;j<startArrays.length;j++){
startArrays[j] = j;
}
for(int i = 0;i<luckNum.length;i++){
if(i<luckNum.length-1){
int seed = randomNumber(1,startArrays.length-i);//随机1-33取数
luckNum[i] = startArrays[seed];//将随机数赋值给luckNum
startArrays[seed] = startArrays[startArrays.length-i-1];//随机数产生的位置替换成为被选中的值
}else{
luckNum[i] = randomNumber(1,17);
}
}
return luckNum;
}
private static int randomNumber(int MIN,int MAX){
return (int)(Math.random()*(MAX-MIN)+MIN);
}
private static int getResult(int arrs[],int luckNum[]){
int redCount = 0;
int blueCount = 0;
int level = 0;
for(int i = 0;i<arrs.length;i++){
if(i<arrs.length-1){
int temp = arrs[i];
for(int j = 0;j<luckNum.length-1;j++){
if(temp == luckNum[j]){
redCount++;
}
}
}else {
if(arrs[arrs.length-1] == luckNum[luckNum.length-1]){
blueCount++;
}
}
}
//返回结果
if(redCount == 6 && blueCount == 1){
level = 1;
}else if (redCount == 6 ){
level = 2;
}else if (redCount == 5 && blueCount == 1){
level = 3;
}else if ((redCount == 4 && blueCount == 1)||(redCount == 5)){
level = 4;
}else if ((redCount == 3 && blueCount == 1)||(redCount == 4)){
level = 5;
}else if (blueCount == 1 ){
level = 6;
}
return level;
}
}