需求:投注号码由6个红色球和一个蓝色球组成。红色球号码从1—33中选择,蓝色球号码从1—16中选择。奖金表如下所示:
源码:
import java.util.Scanner;
import java.util.Random;
public class 双色球系统 {
//main函数
public static void main(String [] args){
int buyLotNum[]=new int[7];
int finalNum[]=new int[7];
int winNum[]=new int[2];
//随机生成结果
getFinalNum(finalNum);
//买彩票
buyLotNum(buyLotNum);
System.out.println("-------------------");
//查看结果
System.out.println("中奖号码如下:");
outPut(finalNum);
//中奖说明
winDcp(buyLotNum,finalNum,winNum);
//中奖结果
winType(winNum);
}
//买彩票
public static void buyLotNum(int lotNum[]){
Scanner sc=new Scanner(System.in);
for(int i=0;i<6;i++) {
System.out.println("请输入你想要买的第"+(i+1)+"个红色球号码(1-33):");
lotNum[i]=sc.nextInt();
}
System.out.println("请输入你想要买的蓝色球号码(1-16):");
lotNum[6]=sc.nextInt();
}
//判断红球是否已经被抽出
public static boolean redIsIn(int newNum,int finalNum[]){
for(int i=0;i<(finalNum.length-1);i++){
if(newNum==finalNum[i])
return true;
}
return false;
}
//随机生成双色球结果
public static void getFinalNum(int finalNum[]){
Random r=new Random();
//生成红球
for (int i=0;i<(finalNum.length-1);i++){
int rednum=r.nextInt(33)+1;
while(redIsIn(rednum,finalNum)){
rednum=r.nextInt(33)+1;
}
finalNum[i]=rednum;
}
//生成蓝球
finalNum[6]=r.nextInt(16)+1;
}
//查看号码
public static void outPut(int lotNum[]){
for (int i=0;i<(lotNum.length-1);i++){
System.out.println("第"+(i+1)+"个红球为:"+lotNum[i]+"号!");
}
System.out.println("蓝球为:"+lotNum[6]+"号!");
}
//中奖说明
public static void winDcp(int buyLotNum[],int finalNum[],int winNum[]){
int redNum=0;
int blueNum=0;
for(int i=0;i<(buyLotNum.length-1);i++) {
if (buyLotNum[i] ==finalNum[i]){
redNum++;
}
}
if(buyLotNum[6]==finalNum[6])
blueNum++;
System.out.println("------------------");
System.out.println("红球中了"+redNum+"个");
System.out.println("蓝球中了"+blueNum+"个");
winNum[0]=redNum;
winNum[1]=blueNum;
}
//中奖类型说明
public static void winType(int winNum[]){
int redNum=winNum[0];
int num=0;
switch(redNum){
case 0:
case 1:
if (winNum[1] == 1) {
System.out.println("恭喜你,中六等奖!奖金为:5元");
num+=1;
}
break;
case 2:
case 3:
if (winNum[1] == 1) {
System.out.println("恭喜你,中五等奖!奖金为:10元");
num+=1;
}
break;
case 4:
if (winNum[1] == 0) {
System.out.println("恭喜你,中五等奖!奖金为:10元");
num+=1;
}
else{
System.out.println("恭喜你,中四等奖!奖金为:200元");
num+=1;
}
break;
case 5:
if (winNum[1] == 0) {
System.out.println("恭喜你,中四等奖!奖金为:200元");
num+=1;
}
else{
System.out.println("恭喜你,中三等奖!奖金为:3000元");
num+=1;
}
break;
case 6:
if (winNum[1] == 0) {
System.out.println("恭喜你,中二等奖!奖金为:500万元");
num+=1;
}
else{
System.out.println("恭喜你,中一等奖!奖金为:1000万元");
num+=1;
}
break;
}
if (num==0)
System.out.println("很遗憾,您本次未中奖!");
}
}