模拟双色球的随机选号,实现号码输入,自动生成奖项等级。
代码如下:
package com.jike.Test; import java.util.Random; import java.util.Scanner; public class boolball { public static void main(String[] args) { /* 模拟双色球系统 */ // 生成中将号码 int[] arr = creatnumber(); System.out.println("==================="); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } System.out.println("==================="); //用户输入号码 int[] user = scanner(); // 校验生成号码与输入号码 // 需要判断红球的中奖号码 然后判断篮球的中奖个数 int redCount = 0; int blueCount = 0; //判断红球 for (int i = 0; i < user.length-1; i++) { int redNumber = user[i]; for (int j = 0; j < arr.length-1; j++) { if (redNumber == arr[i]){ redCount++; break; } } } //判断蓝球的中将 int blueNumber = user[user.length-1]; if (blueNumber == arr[arr.length-1]){ blueNumber++; } //根据红球和蓝球的中奖情况区分中奖等级 if (redCount == 6 && blueCount ==1){ System.out.println("一等奖1000万"); }else if (redCount == 6 && blueCount ==0){ System.out.println("二等奖500万"); }else if (redCount == 5 && blueCount==1){ System.out.println("三等奖3000"); } else if((redCount == 5 && blueCount == 0) || (redCount == 4 && blueCount == 1)) { System.out.println("四等奖200"); }else if ((redCount == 4 && blueCount == 0) || (redCount == 3&& blueCount == 1)){ System.out.println("五等奖10"); }else if ((redCount == 2 && blueCount == 1) || (redCount == 1 && blueCount == 1) || (redCount == 0 && blueCount == 1)){ System.out.println("六等奖5"); }else { System.out.println("未中奖"); } } public static int[] scanner(){ //红球 int[] run = new int[7]; Scanner sc = new Scanner(System.in); for (int i = 0; i < 6; i++) { System.out.println("请输入第"+(i+1)+"个红球号码"); int rednumber = sc.nextInt(); if (rednumber >=1 && rednumber <= 33 ){ boolean falg = creatindex(run,rednumber); if (!falg){ //不存在 run[i] = rednumber; }else { System.out.println("当前红球号码存在,重新输入"); } }else { System.out.println("超出范围"); } } //判断蓝球 System.out.println("请输入蓝球:"); //只需判断蓝球是否在1~16之间 while (true) { int bulenumber = sc.nextInt(); if (bulenumber >= 1 && bulenumber <= 16){ run[run.length-1] = bulenumber; break; }else { System.out.println("蓝球超出范围,请重新输入:"); } } return run; } public static int[] creatnumber(){ //创建数组用于添加中将号码 //6个红球 加一个篮球 int[] arr = new int[7]; //随机生成号码 //生成红球号码 Random r = new Random(); for (int i = 0; i < 6;) { int redunmber = r.nextInt(33)+1; boolean flag = creatindex(arr, redunmber); if (!flag){ arr[i] = redunmber; i++; } } int bluenumber = r.nextInt(15)+1; arr[arr.length-1] = bluenumber; return arr; } public static boolean creatindex(int[] arr,int number){ for (int i = 0; i < arr.length; i++) { if (arr[i] == number){ return true; } } return false; } }
希望对你有帮助,我将持续更新一些小玩意,听说点赞、关注加收藏的人最帅。