本文记录了笔者使用Java语言完成的双色球模拟抽奖系统,写出来为了自己玩玩一乐,但是页面有点丑丑的(也不知道是不是因为自己写的缘故,老能中奖hhh)。
题目:双色球抽奖系统
投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1-33中选择,蓝色球号码从1-16中选择,详细中奖如下图所示。
package primarygrammer;
import java.util.Random;
import java.util.Scanner;
public class Huiwen {
public static void main(String[] args)
{
//1.生成中奖号码
int[] arr = createNumber();
//2.用户输入彩票号码
int[] userArr = userInputNumber();
System.out.println("*******************************************************");
System.out.println("您输入的号码分别为:");
for(int i = 0; i<userArr.length; i++)
{
System.out.print(userArr[i]+" ");
}
System.out.println();
//3.验证是否中奖
int redCount=0;
int blueCount=0;
for(int i = 0; i<userArr.length-1; i++)
{
int redNumber = userArr[i];
for(int j =0 ; j<arr.length-1 ;j++)
{
if(redNumber == arr[j]) {
redCount++;
break;
}
}
}
if(userArr[userArr.length-1] == arr[arr.length-1])
{
blueCount++;
}
System.out.println("*******************************************************");
System.out.println("恭喜您的红色球中"+ redCount +"个");
System.out.println("恭喜您的蓝色球中"+ blueCount +"个");
anwards(redCount,blueCount);
System.out.println("*******************************************************");
System.out.println("本期中奖号码为:");
for(int i = 0; i<arr.length;i++)
{
System.out.print(arr[i]+" ");
}
}
public static int[] createNumber() {
int[] arr = new int[7];
Random r = new Random();
for(int i =0; i<6 ; )
{
int redNumber = r.nextInt( 33 )+1;
boolean flag = contains(arr,redNumber);
if(!flag) {
arr[i]=redNumber;
i++;//好巧妙的把i++放到这里,如果重复生成的话就继续重新生成,结束不了循环
}
}
int blueNumber = r.nextInt(16)+1;
arr[arr.length-1] = blueNumber;
return arr;
}
//检查红色号码是否重复
public static boolean contains(int[] arr, int number)
{
for(int i = 0; i<arr.length ; i++)
{
if(arr[i]==number) {
return true;
}
}
return false;
}
public static int[] userInputNumber()
{
int[] arr = new int[7];
Scanner sc = new Scanner(System.in);
for(int i =0 ;i<6 ; )
{
System.out.print("请输入第" + (i+1) + "个红球号码:");
int redNumber = sc.nextInt();
if(redNumber>=1 && redNumber<=33) {
boolean flag = contains(arr,redNumber);
if(!flag)
{
arr[i] = redNumber;
i++;
}
else
{
System.out.print("当前红球号码已经存在,");
}
}
else
{
System.out.print("当前红球号码超出范围,");
}
}
System.out.print("请输入篮球号码:");
while(true) {
int blueNumber = sc.nextInt();
if(blueNumber>=1 && blueNumber<=16)
{
arr[6] = blueNumber;
break;
}
else
{
System.out.print("当前篮球号码超出范围,请重新输入:");
}
}
return arr;
}
public static void anwards(int redNumber,int blueNumber)
{
if(blueNumber==1)
{
switch(redNumber)
{
case 0:
System.out.println("很遗憾,您没有中奖。");
break;
case 1:
System.out.println("恭喜您获得奖金5元!");
break;
case 2:
System.out.println("恭喜您获得奖金5元!");
break;
case 3:
System.out.println("恭喜您获得奖金10元!");
break;
case 4:
System.out.println("恭喜您获得奖金200元!");
break;
case 5:
System.out.println("恭喜您获得奖金3000元!");
break;
case 6:
System.out.println("恭喜您获得奖金1000万元!");
break;
}
}
else
{
switch(redNumber)
{
case 0:
System.out.println("很遗憾,您没有中奖。");
break;
case 1:
System.out.println("恭喜您获得奖金5元!");
break;
case 2:
System.out.println("很遗憾,您没有中奖。");
break;
case 3:
System.out.println("恭喜您获得奖金10元!");
break;
case 4:
System.out.println("恭喜您获得奖金10元!");
break;
case 5:
System.out.println("恭喜您获得奖金200元!");
break;
case 6:
System.out.println("恭喜您获得奖金500万元!");
break;
}
}
}
}
仅供参考啦,感谢观看ღ( ´・ᴗ・` )