规则:
红色球号码中选择6个号码,从蓝色球号码中选择1个号码,组合为一注
红色球号码的范围为1-33(且不能重复),蓝色球号码为1-16;
中奖方法为:
红 | 6 | 6 | 5 | 5 | 4 | 2 |
蓝 | 1 | 0 | 1 | 0 | 1 | 1 |
奖金 | 1000 | 500 | 300 | 200 | 10 | 5 |
根据规则要创建一个6+1的数组,并随机生成中奖号码。
public static int[] createNumber() { //添加中奖号码 //6红1蓝 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++; } } //生成篮球号码 int bludNumber = r.nextInt(16)+1; arr[arr.length-1] = bludNumber; return arr; }
再创建一组6+1的数组来模拟用户所购买的号码
public static int[] userInputNumber(){ //创建数组用于添加用户购买的彩票号码 int arr[] = new int[7]; //用户输入 Scanner sc = new Scanner(System.in); //红球 for(int i=0;i<6;){ System.out.println("请输入"+ (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.println("已存在"); } }else { System.out.println("超出范围"); } } //输入蓝球 System.out.println("输入篮球号码"); while (true) { int blueNumber = sc.nextInt(); if(blueNumber>=1&&blueNumber<=16){ arr[arr.length-1]=blueNumber; break; }else { System.out.println("超出范围"); } } 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; }
最终根据两组数组中号码对比,告诉用户中多少奖金。
int buleNumber = userInputArr[userInputArr.length-1]; if(buleNumber == arr[arr.length-1]){ blueCount++; } //判断中奖情况 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("中300"); }else if(redCount==5&&blueCount==0) { System.out.println("中200"); }else if(redCount==4&&blueCount==0) { System.out.println("中10"); }else if(redCount==2&&blueCount==1) { System.out.println("中5"); }else { System.out.println("未中奖"); } }
效果图呈现(最上面一行为中奖号码):
编辑
程序完整代码:
import java.util.Random; import java.util.Scanner; public class ShuangSeQiu { public static void main(String[] arge) { //生成中奖号码 int arr[] = createNumber(); System.out.println("=============="); for (int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); } System.out.println(); System.out.println("=============="); //用户输入号码 int [] userInputArr = userInputNumber(); //判断 int redCount = 0; int blueCount = 0; for(int i=0 ;i<userInputArr.length;i++){ int redNumber = userInputArr[i]; for(int j=0;j< arr.length-1;j++){ if(redNumber == arr[j]){ redCount++; break; } } } int buleNumber = userInputArr[userInputArr.length-1]; if(buleNumber == arr[arr.length-1]){ blueCount++; } //判断中奖情况 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("中300"); }else if(redCount==5&&blueCount==0) { System.out.println("中200"); }else if(redCount==4&&blueCount==0) { System.out.println("中10"); }else if(redCount==2&&blueCount==1) { System.out.println("中5"); }else { System.out.println("未中奖"); } } public static int[] userInputNumber(){ //创建数组用于添加用户购买的彩票号码 int arr[] = new int[7]; //用户输入 Scanner sc = new Scanner(System.in); //红球 for(int i=0;i<6;){ System.out.println("请输入"+ (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.println("已存在"); } }else { System.out.println("超出范围"); } } //输入蓝球 System.out.println("输入篮球号码"); while (true) { int blueNumber = sc.nextInt(); if(blueNumber>=1&&blueNumber<=16){ arr[arr.length-1]=blueNumber; break; }else { System.out.println("超出范围"); } } return arr; } public static int[] createNumber() { //添加中奖号码 //6红1蓝 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++; } } //生成篮球号码 int bludNumber = r.nextInt(16)+1; arr[arr.length-1] = bludNumber; 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; } }
至此JavaSE练习——双色球小编已经分享完了。
感谢每一个观看本篇文章的朋友,更多精彩敬请期待。
文章多处存在借鉴,如有侵权请联系修改删除!编辑