Java實戰入門之雙色球彩票小遊戲

一、項目需求

二、項目思路

1、菜單制作

2、中獎號碼生成 getNumber (隨機數 Math.random)

3、購買號碼和中獎號碼比對 生成中獎等級

三、完整代碼

package com.test.mxl;
 
import java.util.Scanner;
 
public class Test {
    public static void main(String[] args) {
        int[] balls = new int[7];
        int count = 0;
        boolean isBuy = false;//默認情況下沒有買彩票
        while (true){
            System.out.println("------------歡迎進入雙色球彩票系統----------------");
            System.out.println("1、購買彩票");
            System.out.println("2、查看開獎");
            System.out.println("3、退出");
            System.out.println("請選擇你要完成的功能");
            Scanner sc = new Scanner(System.in);
            int choice = sc.nextInt();
            switch (choice){
                case 1:
                    System.out.println("雙色球系統》》購買彩票");
                    System.out.println("請選擇你要購買幾註:");
                    count = sc.nextInt();
                    //定義一個變量 如果每購買提示不能直接開獎
                    for (int i = 1; i <= 7; i++) {
                        if(i != 7){//錄入紅色
                            System.out.println("請錄入第"+i+"個紅球");
                            balls[i-1] = sc.nextInt();
                        }else { //錄入藍色
                            System.out.println("請錄入一個藍色球");
                            balls[i-1] = sc.nextInt();
                        }
                    }
                    System.out.println("您購買瞭"+count+"註彩票,一共消費瞭"+count*2+"元錢,您購買的彩票號碼為: ");
                    //遍歷數組
                    for (int num: balls) {
                        System.out.print(num+"\t");
                    }
                    System.out.println();
                    isBuy = true;
                    break;
                case 2:
                    if (isBuy){
                        System.out.println("雙色球系統》》查看開獎");
                        //1 生成
                        int[] luckBalls= getNumber();
                        //2 對比
                        int level = getlevel(balls,luckBalls);
                        //3 顯示結果
                        System.out.println("本期中獎號碼為:"+luckBalls[0]+" "+luckBalls[1]+" "+luckBalls[2]+" "+luckBalls[3]+" "+luckBalls[4]+" "+luckBalls[5]+" "+luckBalls[6]);
                        switch (level){
                            case 1:
                                System.out.println("恭喜您,中瞭一等獎,1註獎金500萬,您一共獲得: "+500*count+"萬元");
                                break;
                            case 2:
                                System.out.println("恭喜您,中瞭二等獎,1註獎金100萬,您一共獲得: "+100*count+"萬元");
                                break;
                            case 3:
                                System.out.println("恭喜您,中瞭三等獎,1註獎金30萬,您一共獲得: "+30*count+"萬元");
                                break;
                            case 4:
                                System.out.println("恭喜您,中瞭四等獎,1註獎金5萬,您一共獲得: "+5*count+"萬元");
                                break;
                            case 5:
                                System.out.println("恭喜您,中瞭五等獎,1註獎金2000千元,您一共獲得: "+2000*count+"元");
                                break;
                            case 6:
                                System.out.println("恭喜您,中瞭六等獎,1註獎金5元,您一共獲得: "+5*count+"元");
                                break;
                        }
                    }else {
                        System.out.println("對不起,請先購買彩票");
                    }
                    break;
                case 3:
                    System.out.println("雙色球系統》》退出");
                    return;
            }
        }
    }
    public static int[] getNumber(){
        int[] getNumber = new int[7];
 
        //隨機數生成:紅球 1-33,籃球1-16, Math.random() --[0.0,1.0) 可乘數;
        for (int i = 1; i <= 7; i++) {
            if(i != 7){
                getNumber[i-1] = (int)(Math.random()*33 + 1);
            }else {
                getNumber[i-1] = (int)(Math.random()*16 + 1);
            }
        }
 
        return getNumber;
    }
    //比對是否中獎,中幾等獎
 
    public static int getlevel(int[] balls,int[] luckBalls){
        //設置兩個計數 紅球和籃球 每相同一個就加一次。
        int level = 0;
        int redCount = 0;
        int blueCount = 0;
        //遍歷購買的號碼
        for (int i = 0; i < 7; i++) {
            if (i != 6){
                for (int j = 0; j < 6; j++) {
                    if (balls[i] == luckBalls[j]){
                        redCount++;
                    }
                }
            }else { //籃球中獎
                if(balls[6] == luckBalls[6]){
                    blueCount++;
                }
            }
        }
        //輸出比對結果
 
        //根據紅藍球相等數量得到level結果
        if(redCount == 6 && blueCount == 1){
             level = 1;
        }
        else if(redCount == 6 ){
            level = 2;
        }
        else if(redCount == 5 && blueCount == 1){
            level = 3;
        }
        else if(redCount == 5 || (redCount == 4 && blueCount==1)){
            level = 4;
        }
        else if (redCount == 4 || (redCount == 3 && blueCount==1)){
            level = 5;
        }else {
            level = 6;
        }
        return level;
    }
}

四、功能演示

 

 

到此這篇關於Java實戰入門之雙色球彩票的文章就介紹到這瞭,更多相關java雙色球彩票內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: