双色球的开球系统

来源:互联网 发布:电脑锣编程多久能学会 编辑:程序博客网 时间:2024/06/03 14:18
import java.util.Random;import java.util.Scanner;/**应用案例之:模拟双色球彩票程序实现步骤:1、系统生成一个蓝球和6个红球,并存储起来2、接收用户选号,1个蓝球和6个红球3、验证系统号码与用户号码是否匹配(是否中奖)4、公布本期中奖号码*/public class DoubleBall {public static void main(String[] args) {int sysBlueBallNum;//系统生成的篮球号int[] sysRedBallNum = new int[6];//系统生成的红球号int userBlueBallNum;//用户选择的篮球号int[] userRedBallNum = new int[6];//用户选择的红球号int blueBall = 0;//判断蓝球的个数是否正确int redBallCount = 0;//记录红球正确的数量Random r = new Random();//系统生成的随机数的工具类Scanner input = new Scanner(System.in);int[] redNum = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};sysBlueBallNum = r.nextInt(16)+1;//产生系统的兰球方法//随机生成红球号码for (int i=0; i<sysRedBallNum.length; i++){while (true){int index = r.nextInt(33);if (redNum[index]!=0){sysRedBallNum[i] = redNum[index];redNum[index] = 0;break;}}}System.out.println("双色球的选号开始,祝你好运!");System.out.println("请选择蓝色球(16选1)");userBlueBallNum = input.nextInt();System.out.println("请选择红色球(33选6)");for (int i=0; i<userRedBallNum.length; i++){userRedBallNum[i] = input.nextInt();}//验证篮球和红球的正确个数//--------验证篮球if (sysBlueBallNum == userBlueBallNum){blueBall = 1;}//--------验证红球for (int i=0; i<userRedBallNum.length; i++){for (int j=0; j<sysRedBallNum.length; j++){if (userRedBallNum[i] == sysRedBallNum[i]){redBallCount++;break;}}}//判断是否中奖if (blueBall == 1 && redBallCount == 6){System.out.println("恭喜你,中了一等奖500W");}else if (redBallCount == 6){System.out.println("恭喜你,中了二等奖200W");}else if (blueBall == 1 && redBallCount == 5){System.out.println("恭喜你,中了三等奖3000元");}else if (redBallCount==5 || (redBallCount==4 && blueBall==1)){System.out.println("恭喜你,中了四等奖,200元");}else if (redBallCount==4 || (redBallCount==3 && blueBall==1)){System.out.println("恭喜你,中了五等奖,10元");}else if (blueBall==1){System.out.println("恭喜你,中了六等奖,5元");}else{System.out.println("很遗憾,您没有中奖");}//公布中奖号码了//使用冒泡排序int temp;for (int i=0; i<sysRedBallNum.length; i++){for (int j=0; j<sysRedBallNum.length-1-i; j++){if (sysRedBallNum[j] > sysRedBallNum[j+1]){temp = sysRedBallNum[j];sysRedBallNum[j] = sysRedBallNum[j+1];sysRedBallNum[j+1] = temp;}}}//输出System.out.println("本期的中奖号码为:");System.out.print("红球:");for (int i=0; i<sysRedBallNum.length; i++){System.out.print(sysRedBallNum[i]+" ");}System.out.println();System.out.print("蓝球:"+sysBlueBallNum);}}

0 0