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!