Java實戰(zhàn)入門之雙色球彩票小游戲
一、項目需求

二、項目思路
1、菜單制作
2、中獎號碼生成 getNumber (隨機(jī)數(shù) 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;//默認(rèn)情況下沒有買彩票
while (true){
System.out.println("------------歡迎進(jìn)入雙色球彩票系統(tǒng)----------------");
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("雙色球系統(tǒng)》》購買彩票");
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 { //錄入藍(lán)色
System.out.println("請錄入一個藍(lán)色球");
balls[i-1] = sc.nextInt();
}
}
System.out.println("您購買了"+count+"注彩票,一共消費了"+count*2+"元錢,您購買的彩票號碼為: ");
//遍歷數(shù)組
for (int num: balls) {
System.out.print(num+"\t");
}
System.out.println();
isBuy = true;
break;
case 2:
if (isBuy){
System.out.println("雙色球系統(tǒng)》》查看開獎");
//1 生成
int[] luckBalls= getNumber();
//2 對比
int level = getlevel(balls,luckBalls);
//3 顯示結(jié)果
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("雙色球系統(tǒng)》》退出");
return;
}
}
}
public static int[] getNumber(){
int[] getNumber = new int[7];
//隨機(jī)數(shù)生成:紅球 1-33,籃球1-16, Math.random() --[0.0,1.0) 可乘數(shù);
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){
//設(shè)置兩個計數(shù) 紅球和籃球 每相同一個就加一次。
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++;
}
}
}
//輸出比對結(jié)果
//根據(jù)紅藍(lán)球相等數(shù)量得到level結(jié)果
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;
}
}
四、功能演示



到此這篇關(guān)于Java實戰(zhàn)入門之雙色球彩票的文章就介紹到這了,更多相關(guān)java雙色球彩票內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java構(gòu)建樹形結(jié)構(gòu)的方式及如何組裝樹狀結(jié)構(gòu)數(shù)據(jù)
這篇文章主要介紹了在Java中構(gòu)建樹狀數(shù)據(jù)結(jié)構(gòu)的幾種常見方法,包括遞歸、使用Map/HashMap以及基于Stream流的方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
mybatis寫xml時數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解
這篇文章主要介紹了mybatis寫xml時數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
mybatis 字段名自動轉(zhuǎn)小寫的實現(xiàn)
這篇文章主要介紹了mybatis 字段名自動轉(zhuǎn)小寫的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Java中Date,Calendar,Timestamp的區(qū)別以及相互轉(zhuǎn)換與使用
以下是對Java中Date,Calendar,Timestamp的區(qū)別以及相互轉(zhuǎn)換與使用進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下2013-09-09

