java入门小游戏--------双色球 (附代码)

Java双色球小游戏

六个红球,一个蓝球,会随机生成与用户猜测的进行判断以及显示获得的奖励

public class shuangseqiuGame { public static void main(String[] args) { // 1.随机6个红球号码不能重复(1-33),随机一个蓝球号码(1-16) int[] LuckNumbers = createLuckNumber(); // printArray(LuckNumbers); // 2.调用一个方法 让用户输入7个号码 作为用户选号 int[] userNumbers = userInputNumbers(); // printArray(userNumbers); // 3.判断中奖情况 judge(LuckNumbers, userNumbers); } public static void judge(int[] LuckNumbers,int[] userNumbers) { // 判断是否中奖了 // 定义2个变量,分别存储猜中红球个数和猜中篮球个数 int redHitNumbers = 0; int blueHitNumbers = 0; // 判断红球猜中了几个,开始统计 for (int i=0;i<userNumbers.length - 1;i++) { for (int j=0;j<LuckNumbers.length - 1;j++) { if(userNumbers[i] == LuckNumbers[j]) { redHitNumbers ++; break; } } } // 蓝球号码是否猜中了 blueHitNumbers = LuckNumbers[6] == userNumbers[6] ? 1 : 0; System.out.println("中奖号码是: "); printArray(LuckNumbers); System.out.println("你投注的号码是: "); printArray(userNumbers); System.out.println("你猜中了"+redHitNumbers+"个红球"); System.out.println("你是否猜中蓝球:"+ (blueHitNumbers == 1 ? "是" : "否")); // 判断中奖情况 if(blueHitNumbers == 1 && redHitNumbers < 3) { System.out.println("恭喜你,中了5元六等奖!"); } else if(blueHitNumbers == 1 && redHitNumbers == 3 || blueHitNumbers == 0 && redHitNumbers == 4) { System.out.println("恭喜你,中了10元五等奖!!"); } else if(blueHitNumbers == 1 && redHitNumbers == 4 || blueHitNumbers == 0 && redHitNumbers == 5) { System.out.println("恭喜你中了200元四等奖!!!"); } else if(blueHitNumbers == 1 && redHitNumbers == 5) { System.out.println("恭喜你中了3000元三等奖!!!!"); } else if(blueHitNumbers == 0 && redHitNumbers == 6) { System.out.println("恭喜你中了最高500万元二等奖!!!!!"); } else if(blueHitNumbers == 1 && redHitNumbers == 6) { System.out.println("恭喜你中了最高1000万元一等奖!!!!!!"); } } public static int[] userInputNumbers() { // 定义一个数组存储7个号码 int[] numbers = new int[7]; // 让用户录入6个红球号码 Scanner scanner = new Scanner(System.in); for (int i=0;i<numbers.length - 1;i++) { System.out.println("请您输入第" +(i+1)+"个红球号码: (1 - 33之间,不可以重复)"); int data = scanner.nextInt(); // 把当前录入的数据存入到数组中去 numbers[i] = data; } // 单独录入一个篮球号码 System.out.println("请你输入蓝球号码: (1 - 16之间)"); numbers[6] = scanner.nextInt(); return numbers; } public static int[] createLuckNumber() { // 定义一个动态初始化的数组,储存7个数字 int[] numbers = new int[7]; // 遍历数组,为每个位置生成对应的数组 Random random = new Random(); for (int i=0;i<numbers.length - 1;i++) { // 找出1-33不重复的数字 while (true) { int data = random.nextInt(33) + 1; // 定义一个flag变量,默认data是没有重复的 boolean flag= true; for (int j = 0; j<i;j++) { if(numbers[j] == data) { // 随机数据重复,不可以使用 flag = false; break; } } if(flag) { // 随机数没有重复,可以使用 numbers[i] = data; break; } } } // 为第7个位置生成一个1-16的随机号码作为篮球 numbers[numbers.length - 1] = random.nextInt(16) + 1; return numbers; } public static void printArray(int[] arr) { for (int i=0;i<arr.length;i++) { System.out.print(arr[i] + " "); } System.out.println(); } } Java入门小游戏,参考啦

经验分享 程序员 微信小程序 职场和发展