用Java实现双色球规则以及中奖结果
程序员文章站
2024-02-02 15:16:58
...
本次代码模拟双色球选取结果,但与实际依旧有差别。
虽说是Java中Random随机产生数字,但依旧有规律可循。在此不做重点说明忽略不计。
双色球规则
红球为1-33中随机6个不相同数字
蓝球为1-16中随机一个数字
一等奖:7个号码相符(6个红色球号码和1个蓝色球号码)(红色球号码顺序不限,下同)
二等奖:6个红色球号码相符;
三等奖:5个红色球号码和1个蓝色球号码相符;
四等奖:5个红色球号码,或4个红色球号码和1个蓝色球号码相符;
五等奖:4个红色球号码,或3个红色球号码和1个蓝色球号码相符;
六等奖:1个蓝色球号码相符(有无红色球号码相符均可)。
代码如下面一段漂亮的代码片
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class shuangSeqiu {
public static void main(String[]args){
/*
双色球
红球为1-33中随机6个不相同数字
蓝球为1-16中随机一个数字
一等奖:7个号码相符(6个红色球号码和1个蓝色球号码)(红色球号码顺序不限,下同)
二等奖:6个红色球号码相符;
三等奖:5个红色球号码和1个蓝色球号码相符;
四等奖:5个红色球号码,或4个红色球号码和1个蓝色球号码相符;
五等奖:4个红色球号码,或3个红色球号码和1个蓝色球号码相符;
六等奖:1个蓝色球号码相符(有无红色球号码相符均可)。
*/
//1:用户选球
int []userRedball=new int[6];
Scanner scanner=new Scanner(System.in);
for(int i=0;i<userRedball.length;i++){
System.out.println("请输入第"+(i+1)+"个红球");
userRedball[i]=scanner.nextInt();
}
System.out.println("请输入您所选蓝球:");
int userBlueball=scanner.nextInt();
//2.电脑选球
int [] redBall=new int[33];
//往红球池充球
for(int k=0;k<redBall.length;k++){
redBall[k]=k+1;
}
//电脑选红球
int []computerRedball=new int[6];
Random random=new Random();
for(int m=0;m<computerRedball.length;m++){
while (true){
int index=random.nextInt(33);
if(redBall[index]!=0){
computerRedball[m]=redBall[index];
redBall[index]=0;
break;
}
}
}
//电脑选蓝球
int computerBlueball=random.nextInt(16);
//3.中奖结果
System.out.println("玩家所选结果");
System.out.println(Arrays.toString(userRedball));
System.out.println(userBlueball);
System.out.println("***************************");
System.out.println("电脑所选结果");
System.out.println(Arrays.toString(computerRedball));
System.out.println(computerBlueball);
int count=0;
for(int num1:computerRedball){
for(int num2:userRedball){
if(num1==num2){
count+=1;
}
}
}
if(count==6&&computerBlueball==userBlueball){
System.out.println("一等奖");
}else if(count==6){
System.out.println("二等奖");
} else if (count == 5 && computerBlueball == userBlueball) {
System.out.println("三等奖");
}else if(count==5||count==4&&computerBlueball==userBlueball){
System.out.println("四等奖");
}else if(count==4||count==3&&computerBlueball==userBlueball){
System.out.println("五等奖");
}else if(computerBlueball==userBlueball){
System.out.println("六等奖");
}else{
System.out.println("谢谢惠顾");
}
}
}
运行结果如下:
请输入第1个红球
8
请输入第2个红球
12
请输入第3个红球
22
请输入第4个红球
31
请输入第5个红球
4
请输入第6个红球
15
请输入您所选蓝球:
9
玩家所选结果
[8, 12, 22, 31, 4, 15]
9
***************************
电脑所选结果
[13, 16, 1, 20, 4, 7]
3
谢谢惠顾
Process finished with exit code 0
本人刚接触Java,代码粗鄙不堪,在此希望各位读者多多批评指教!
谢谢!
推荐阅读