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

二、項(xiàng)目思路
1、菜單制作
2、中獎(jiǎng)號(hào)碼生成 getNumber (隨機(jī)數(shù) Math.random)
3、購(gòu)買(mǎi)號(hào)碼和中獎(jiǎng)號(hào)碼比對(duì) 生成中獎(jiǎng)等級(jí)
三、完整代碼
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)情況下沒(méi)有買(mǎi)彩票
while (true){
System.out.println("------------歡迎進(jìn)入雙色球彩票系統(tǒng)----------------");
System.out.println("1、購(gòu)買(mǎi)彩票");
System.out.println("2、查看開(kāi)獎(jiǎng)");
System.out.println("3、退出");
System.out.println("請(qǐng)選擇你要完成的功能");
Scanner sc = new Scanner(System.in);
int choice = sc.nextInt();
switch (choice){
case 1:
System.out.println("雙色球系統(tǒng)》》購(gòu)買(mǎi)彩票");
System.out.println("請(qǐng)選擇你要購(gòu)買(mǎi)幾注:");
count = sc.nextInt();
//定義一個(gè)變量 如果每購(gòu)買(mǎi)提示不能直接開(kāi)獎(jiǎng)
for (int i = 1; i <= 7; i++) {
if(i != 7){//錄入紅色
System.out.println("請(qǐng)錄入第"+i+"個(gè)紅球");
balls[i-1] = sc.nextInt();
}else { //錄入藍(lán)色
System.out.println("請(qǐng)錄入一個(gè)藍(lán)色球");
balls[i-1] = sc.nextInt();
}
}
System.out.println("您購(gòu)買(mǎi)了"+count+"注彩票,一共消費(fèi)了"+count*2+"元錢(qián),您購(gòu)買(mǎi)的彩票號(hào)碼為: ");
//遍歷數(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)》》查看開(kāi)獎(jiǎng)");
//1 生成
int[] luckBalls= getNumber();
//2 對(duì)比
int level = getlevel(balls,luckBalls);
//3 顯示結(jié)果
System.out.println("本期中獎(jiǎng)號(hào)碼為:"+luckBalls[0]+" "+luckBalls[1]+" "+luckBalls[2]+" "+luckBalls[3]+" "+luckBalls[4]+" "+luckBalls[5]+" "+luckBalls[6]);
switch (level){
case 1:
System.out.println("恭喜您,中了一等獎(jiǎng),1注獎(jiǎng)金500萬(wàn),您一共獲得: "+500*count+"萬(wàn)元");
break;
case 2:
System.out.println("恭喜您,中了二等獎(jiǎng),1注獎(jiǎng)金100萬(wàn),您一共獲得: "+100*count+"萬(wàn)元");
break;
case 3:
System.out.println("恭喜您,中了三等獎(jiǎng),1注獎(jiǎng)金30萬(wàn),您一共獲得: "+30*count+"萬(wàn)元");
break;
case 4:
System.out.println("恭喜您,中了四等獎(jiǎng),1注獎(jiǎng)金5萬(wàn),您一共獲得: "+5*count+"萬(wàn)元");
break;
case 5:
System.out.println("恭喜您,中了五等獎(jiǎng),1注獎(jiǎng)金2000千元,您一共獲得: "+2000*count+"元");
break;
case 6:
System.out.println("恭喜您,中了六等獎(jiǎng),1注獎(jiǎng)金5元,您一共獲得: "+5*count+"元");
break;
}
}else {
System.out.println("對(duì)不起,請(qǐng)先購(gòu)買(mǎi)彩票");
}
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;
}
//比對(duì)是否中獎(jiǎng),中幾等獎(jiǎng)
public static int getlevel(int[] balls,int[] luckBalls){
//設(shè)置兩個(gè)計(jì)數(shù) 紅球和籃球 每相同一個(gè)就加一次。
int level = 0;
int redCount = 0;
int blueCount = 0;
//遍歷購(gòu)買(mǎi)的號(hào)碼
for (int i = 0; i < 7; i++) {
if (i != 6){
for (int j = 0; j < 6; j++) {
if (balls[i] == luckBalls[j]){
redCount++;
}
}
}else { //籃球中獎(jiǎng)
if(balls[6] == luckBalls[6]){
blueCount++;
}
}
}
//輸出比對(duì)結(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實(shí)戰(zhàn)入門(mén)之雙色球彩票的文章就介紹到這了,更多相關(guān)java雙色球彩票內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 教你怎么用Java開(kāi)發(fā)掃雷游戲
- 用Java實(shí)現(xiàn)24點(diǎn)游戲
- Java Swing實(shí)現(xiàn)坦克大戰(zhàn)游戲
- Java實(shí)戰(zhàn)之飛翔的小鳥(niǎo)小游戲
- Java實(shí)現(xiàn)五子棋游戲
- JAVA實(shí)現(xiàn)的CrazyArcade泡泡堂游戲
- java實(shí)戰(zhàn)之飛機(jī)大戰(zhàn)小游戲(源碼加注釋)
- java實(shí)戰(zhàn)之猜字小游戲
- 基于Java實(shí)現(xiàn)簡(jiǎn)單貪吃蛇游戲
- 利用java開(kāi)發(fā)簡(jiǎn)易版掃雷游戲
- Java實(shí)現(xiàn)簡(jiǎn)易撲克牌游戲的完整實(shí)例
- java簡(jiǎn)易小游戲制作代碼
- 我用java實(shí)現(xiàn)了王者榮耀的皮膚和英雄技能
相關(guān)文章
Spring整合quartz做定時(shí)任務(wù)的示例代碼
這篇文章主要介紹了在spring項(xiàng)目使用quartz做定時(shí)任務(wù),首先我這里的項(xiàng)目已經(jīng)是一個(gè)可以跑起來(lái)的完整項(xiàng)目,web.xml里面的配置我就不貼出來(lái)了,具體實(shí)例代碼跟隨小編一起看看吧2022-01-01
一次mybatis連接查詢(xún)遇到的坑實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于一次mybatis連接查詢(xún)遇到的坑的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Android讀取本地或網(wǎng)絡(luò)圖片并轉(zhuǎn)換為Bitmap
這篇文章主要為大家詳細(xì)介紹了Android讀取本地或網(wǎng)絡(luò)圖片,并轉(zhuǎn)換為Bitmap,感興趣的小伙伴們可以參考一下2016-08-08
SpringBoot實(shí)現(xiàn)application.yml文件敏感信息加密
本文主要介紹了SpringBoot實(shí)現(xiàn)application.yml文件敏感信息加密,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
SpringBoot實(shí)現(xiàn)聯(lián)表查詢(xún)的代碼詳解
這篇文章主要介紹了SpringBoot中如何實(shí)現(xiàn)聯(lián)表查詢(xún),文中通過(guò)代碼示例和圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-05-05
Spring Boot中l(wèi)ombok的安裝與使用詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot中l(wèi)ombok安裝與使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09
PowerJobAutoConfiguration自動(dòng)配置源碼流程解析
這篇文章主要為大家介紹了PowerJobAutoConfiguration自動(dòng)配置源碼流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12

