Java雙色球系統(tǒng)開(kāi)發(fā)詳解
功能說(shuō)明
1.1. 菜單頁(yè)功能
package lotteryDemo1; import java.util.Scanner; public class Menu { public static void main(String[] args) { Scanner sc=new Scanner(System.in); o:while(true){ System.out.println("歡迎使用雙色球系統(tǒng),官方網(wǎng)站www.zhongbuliao.com"); System.out.println("********請(qǐng)輸入菜單選項(xiàng)*********"); System.out.println("* 1:購(gòu)買(mǎi)雙色球 *"); System.out.println("* 2:查看開(kāi)獎(jiǎng) *"); System.out.println("* 3:查看中獎(jiǎng) *"); System.out.println("* 4:退出系統(tǒng) *"); System.out.println("******************************"); System.out.println("請(qǐng)輸入選項(xiàng)"); int option =sc.nextInt(); switch (option){ case 1: System.out.println("運(yùn)行購(gòu)買(mǎi)雙色球代碼"); break; case 2: System.out.println("運(yùn)行查看開(kāi)獎(jiǎng)代碼"); break; case 3: System.out.println("運(yùn)行查看中獎(jiǎng)代碼"); break; case 4: System.out.println("客官常來(lái)呀!"); break o; default: System.out.println("客官不可以"); } } } }
1.2. 購(gòu)買(mǎi)雙色球
1.3. 查看開(kāi)獎(jiǎng)
準(zhǔn)備彩票工具類(lèi)
存放一個(gè)生成 彩票的方法
package lotteryDemo1; import java.util.Arrays; public class LotteryUtil { public static int[] getLottery(){ int[] lottery=new int[6]; for (int i = 0; i <6 ; i++) { int num =(int)(Math.random()*33+1); while(isContain(lottery,num)){ num =(int)(Math.random()*33+1); } lottery[i]=num; } Arrays.sort(lottery); int[] lottery2=new int[7]; System.arraycopy(lottery,0,lottery2,0,6); lottery2[6]=(int)(Math.random()*16+1); return lottery2; } public static boolean isContain(int[] arr,int b){ boolean flag= false; for (int x:arr){ if(x==b){ flag=true; break; } } return flag; } }
在 menu類(lèi)中添加代碼
package lotteryDemo1; import java.util.Arrays; import java.util.Scanner; public class Menu { public static void main(String[] args) { Scanner sc=new Scanner(System.in); // 聲明一個(gè)二維數(shù)組 用于存儲(chǔ)多個(gè)注彩票 int[][] lotteries=new int[0][]; int[] luckyNum=new int[0]; o:while(true){ System.out.println("歡迎使用雙色球系統(tǒng),官方網(wǎng)站www.zhongbuliao.com"); System.out.println("********請(qǐng)輸入菜單選項(xiàng)*********"); System.out.println("* 1:購(gòu)買(mǎi)雙色球 *"); System.out.println("* 2:查看我的雙色球 *"); System.out.println("* 3:查看開(kāi)獎(jiǎng) *"); System.out.println("* 4:查看中獎(jiǎng) *"); System.out.println("* 5:退出系統(tǒng) *"); System.out.println("******************************"); System.out.println("請(qǐng)輸入選項(xiàng)"); int option =sc.nextInt(); switch (option){ case 1: System.out.println("運(yùn)行購(gòu)買(mǎi)雙色球代碼"); //輸入夠買(mǎi)的注數(shù) System.out.println("請(qǐng)輸入購(gòu)買(mǎi)注數(shù)"); int zs=sc.nextInt(); // 創(chuàng)建一個(gè)二維數(shù)組 用于存儲(chǔ)多個(gè)彩票 lotteries =new int[zs][]; //由程序循環(huán)生成彩票 for (int i = 0; i <zs ; i++) { lotteries[i] = LotteryUtil.getLottery(); } // 提示購(gòu)買(mǎi)成功 System.out.println("購(gòu)買(mǎi)成功"); break; case 2: // 購(gòu)買(mǎi)雙色球 if(lotteries.length!=0){ /*遍歷雙色球二維數(shù)組*/ for (int[] lottery:lotteries) { for (int x=0;x<lottery.length;x++) { if(x==5){ System.out.print(lottery[x]+"\t|\t"); }else{ System.out.print(lottery[x]+"\t"); } } System.out.println(); } }else{ System.out.println("客官請(qǐng)先花錢(qián)購(gòu)買(mǎi),然后再查看雙色球"); } break; case 3: // 判斷是否購(gòu)買(mǎi)了雙色球 // 再生成一注雙色球,當(dāng)成中獎(jiǎng)號(hào)碼即可 if(lotteries.length!=0){ // 生成中間號(hào)碼 luckyNum=LotteryUtil.getLottery(); // 輸出中獎(jiǎng)號(hào)碼 for (int x=0;x<luckyNum.length;x++) { if(x==5){ System.out.print(luckyNum[x]+"\t|\t"); }else{ System.out.print(luckyNum[x]+"\t"); } } System.out.println(); }else{ System.out.println("客官請(qǐng)先花錢(qián)購(gòu)買(mǎi),然后再查看開(kāi)獎(jiǎng)號(hào)碼"); } break; case 4: System.out.println("查看中獎(jiǎng)!"); break; case 5: System.out.println("客官再來(lái)呀!"); break o; default: System.out.println("客官不可以"); } } } }
1.4. 查看中獎(jiǎng)
在LotteryUtil中定義一個(gè)判斷中獎(jiǎng)的方法
public static int isWin(int[] luckyNum,int[] lottery){ // 判斷前六位有幾位相同 int red=0; for (int i = 0; i <6 ; i++) { System.out.print(lottery[i]+"\t"); if(luckyNum[i]==lottery[i]){ red++; } } int blue=luckyNum[6]==lottery[6]?1:0; System.out.print("\t|\t"+lottery[6]+"\t"); int money=0; if(red==6&&blue==1){ money=5000000; System.out.println("一等獎(jiǎng)5000000元"); }else if(red==6){ money=1250000; System.out.println("二等獎(jiǎng)1250000元"); }else if(red==5&&blue==1){ money=3000; System.out.println("三等獎(jiǎng)3000元"); }else if(red==5||red+blue==5){ money=200; System.out.println("四等獎(jiǎng)200元"); }else if(red==4||red+blue==4){ money=10; System.out.println("五等獎(jiǎng)10元"); } else if(red==0&&blue==1){ money=5; System.out.println("六等獎(jiǎng)5元"); }else{ System.out.println("未中獎(jiǎng)0元"); } return money; }
在menu中添加查看中獎(jiǎng)功能
1.5. 退出系統(tǒng)
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
SpringBoot中實(shí)現(xiàn)文件上傳、下載、刪除功能的步驟
本文將詳細(xì)介紹如何在 Spring Boot 中實(shí)現(xiàn)文件上傳、下載、刪除功能,采用的技術(shù)框架包括:Spring Boot 2.4.2、Spring MVC、MyBatis 3.5.6、Druid 數(shù)據(jù)源、JUnit 5 等,文中有詳細(xì)的操作步驟和示例代碼供大家參考,需要的朋友可以參考下2024-01-01Struts2學(xué)習(xí)筆記(7)-訪問(wèn)Web元素
這篇文章主要介紹Struts2中訪問(wèn)Web元素的方法,希望能給大家做一個(gè)參考。2016-06-06JAVA學(xué)習(xí)進(jìn)階篇之時(shí)間與日期相關(guān)類(lèi)
在日常的開(kāi)發(fā)工作當(dāng)中,我們經(jīng)常需要用到日期相關(guān)的類(lèi),下面這篇文章主要給大家介紹了關(guān)于JAVA學(xué)習(xí)進(jìn)階篇之時(shí)間與日期相關(guān)類(lèi)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09Dwr3.0純注解(純Java Code配置)配置與應(yīng)用淺析一之零配置文件化
Dwr對(duì)我來(lái)說(shuō)最重要的功能點(diǎn)就是反向Ajax調(diào)用,通俗來(lái)將就是后端可以直接調(diào)用前端的JS方法(只要在所能訪問(wèn)的范圍內(nèi)),這也就是Dwr的真正來(lái)由,當(dāng)然它也有最基本的前端直接調(diào)用后端的特性,省去了我們經(jīng)常的一般Ajax調(diào)用2016-04-04springboot下mybatis-plus如何打印sql日志和參數(shù)到日志文件
本文主要介紹了springboot下mybatis-plus如何打印sql日志和參數(shù)到日志文件,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Java?輪詢(xún)鎖使用時(shí)遇到問(wèn)題解決方案
這篇文章主要介紹了Java?輪詢(xún)鎖使用時(shí)遇到問(wèn)題解決方案,當(dāng)我們遇到死鎖之后,除了可以手動(dòng)重啟程序解決之外,還可以考慮使用順序鎖和輪詢(xún)鎖,但是過(guò)程也會(huì)遇到一些問(wèn)題,接下來(lái)我們一起進(jìn)入下面文章了解解決方案,需要的小伙伴可以參考一下2022-05-05Java中重載與重寫(xiě)的對(duì)比與區(qū)別
這篇文章主要介紹了Java中重載與重寫(xiě)的對(duì)比與區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-03-03基于Java代碼實(shí)現(xiàn)數(shù)字在數(shù)組中出現(xiàn)次數(shù)超過(guò)一半
這篇文章主要介紹了基于Java代碼實(shí)現(xiàn)數(shù)字在數(shù)組中出現(xiàn)次數(shù)超過(guò)一半的相關(guān)資料,需要的朋友可以參考下2016-02-02