純java代碼實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)
本文實(shí)例為大家分享了java實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng) 的具體代碼,供大家參考,具體內(nèi)容如下
模擬一個(gè)在終端登陸注冊(cè)的頁面
public class Cjtest { public static void main(String[] args) { String isGoOn = "n"; //循環(huán)的判斷條件是否繼續(xù) do { System.out.println("*********幸運(yùn)52********"); System.out.println("1.注冊(cè)"); System.out.println("2.登錄"); System.out.println("3.幸運(yùn)大抽獎(jiǎng)"); System.out.println("***********************"); System.out.println("請(qǐng)選擇菜單"); //接收用戶選擇的菜單 Scanner scanner = new Scanner(System.in); String meunNum = scanner.nextLine(); //根據(jù)用戶的選擇 來執(zhí)行對(duì)應(yīng)功能 meunChoose(meunNum); System.out.println("是否繼續(xù)---輸入y/n"); //接收判斷循環(huán)條件 isGoOn = scanner.nextLine(); } while (isGoOn.equals("y")); //循環(huán)結(jié)束提示 System.out.println("歡迎下次使用"); } //選擇對(duì)應(yīng)的方法 public static void meunChoose(String meunNum) { switch (meunNum) { case "1": System.out.println("抽獎(jiǎng)系統(tǒng)----注冊(cè)"); //調(diào)用 注冊(cè)的方法 Register.register(); case "2": System.out.println("抽獎(jiǎng)系統(tǒng)----登錄"); //調(diào)用登錄的方法 User.isLogin=Login.login(); break; case "3": System.out.println("抽獎(jiǎng)系統(tǒng)----幸運(yùn)抽獎(jiǎng)"); LuckDraw.lukcDraw(); break; default: System.out.println("輸入錯(cuò)誤請(qǐng)重新輸入"); break; } } }
不連接數(shù)據(jù)庫所以模擬一個(gè)注冊(cè)時(shí)用戶信息所存放的位置
public class User { //用戶名 public static String userName = ""; //密碼 public static String passWord = ""; //幸運(yùn)數(shù)字 public static int luckNumber = 0; //用戶的登錄狀態(tài) public static boolean isLogin = false; }
注冊(cè)功能實(shí)現(xiàn)
public class Register { public static void register() { System.out.println("請(qǐng)注冊(cè)用戶的個(gè)人信息"); Scanner scanner = new Scanner(System.in); System.out.println("用戶名"); //接收用戶名 放在用戶信息中 User.userName = scanner.nextLine(); System.out.println("密碼"); //接收到用戶信息中 User.passWord = scanner.nextLine(); //隨機(jī)一個(gè)四位的1000-2000的數(shù) 保存到用戶中。 User.luckNumber = (int)(Math.random()*(2000-1000+1)+1000); //顯示用戶的注冊(cè)信息 System.out.println("用戶名"+User.userName); System.out.println("密碼"+User.passWord); System.out.println("幸運(yùn)數(shù)字"+User.luckNumber); //scanner.close();標(biāo)記:注意scanner 只能關(guān)閉一次 關(guān)閉后在本程序執(zhí)行中 在創(chuàng)建也不能接收鍵盤信息了 } }
登陸
public class Login { static int number = 0;//控制循環(huán)輸入密碼三次 public static boolean login() { System.out.println("請(qǐng)輸入用戶名:"); //接收用戶名 Scanner scanner = new Scanner(System.in); String userName = scanner.nextLine(); System.out.println("請(qǐng)輸出賬號(hào):"); String passWord = scanner.nextLine(); //判斷用戶名密碼是否匹配 if(userName.equals(User.userName)&&passWord.equals(User.passWord)) { //登陸成功 System.out.println("登陸成功"); //返回一個(gè)登錄狀態(tài) return true; }else { //登錄失敗 有重新登錄三次機(jī)會(huì)。 number++; System.out.println("你還有"+(3-number)+"次機(jī)會(huì)"); if (number !=3) { //還有登陸的機(jī)會(huì) login(); }else { //三次機(jī)會(huì)已用 登錄失敗 System.out.println("三次機(jī)會(huì)已用完 登錄失敗"); } //寫返回值的時(shí)候要保證每一個(gè)分支都要有返回值 return false; } } }
抽獎(jiǎng)系統(tǒng)邏輯
public class LuckDraw { //記錄輸入卡號(hào)注冊(cè) static int number = 0; public static void lukcDraw() { //是否注冊(cè) 沒注冊(cè)不能抽 if(User.userName.length() ==0 ) { //沒注冊(cè) 下面都不執(zhí)行 System.out.println("你沒注冊(cè)"); return; } //是否登錄 沒登錄不讓抽 if(!User.isLogin) { System.out.println("你沒登錄"); return; } //如果卡號(hào)沒輸對(duì) 也不讓抽獎(jiǎng) 直接return if (!isLuckNumber()) { System.out.println("卡號(hào)不對(duì)!不能登錄"); return; } //真的 可以抽獎(jiǎng)了 //定義一個(gè) 變量保存中獎(jiǎng)的結(jié)果 boolean isLucky = false; //隨機(jī)五個(gè)數(shù) 打印出結(jié)果 并判斷是否匹配幸運(yùn)號(hào)碼 //定義一個(gè)變量 來保存累加的字符串 String s = "本次幸運(yùn)的數(shù)"; for (int i = 0; i < 5; i++) { int num = (int) (Math.random() * (2000-1000+1) + 1000); //拼接要打印的字符串 if(i<5) { s = s + num+","; }else { s = s+num; } //判斷是否中獎(jiǎng) if(User.luckNumber==num); //中獎(jiǎng) isLucky = true; } //打印幸運(yùn)數(shù)字 System.out.println(s); if (isLucky) { System.out.println("你中獎(jiǎng)了"); }else { System.out.println("你沒中獎(jiǎng)"); } } public static boolean isLuckNumber() { //判斷卡號(hào)是個(gè)輸入正確 //抽獎(jiǎng) System.out.println("請(qǐng)輸入卡號(hào)"); Scanner scanner = new Scanner(System.in); int luckNumber = scanner.nextInt(); //判斷用戶輸入的卡號(hào)是不是 這個(gè)用戶之前隨機(jī)出來的那個(gè)數(shù) if (luckNumber==User.luckNumber) { System.out.println("輸入正確抽獎(jiǎng)馬上運(yùn)行"); return true; //卡號(hào)相同可以抽獎(jiǎng) }else { //卡號(hào)不相同 重新輸入三次機(jī)會(huì) number++; if (number!=3) { isLuckNumber(); }else { System.out.println("三次機(jī)會(huì)已用盡"); } return false; } } }
更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 基于Java實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)
- 簡單實(shí)現(xiàn)java抽獎(jiǎng)系統(tǒng)
- Java抽獎(jiǎng)算法第二例
- Java實(shí)現(xiàn)雙色球抽獎(jiǎng)隨機(jī)算法示例
- Java簡易抽獎(jiǎng)系統(tǒng)小項(xiàng)目
- JAVA實(shí)現(xiàn)用戶抽獎(jiǎng)功能(附完整代碼)
- Java抽獎(jiǎng)?chuàng)屬徦惴?/a>
- java實(shí)現(xiàn)幸運(yùn)抽獎(jiǎng)系統(tǒng)
- JAVA使用隨機(jī)數(shù)實(shí)現(xiàn)概率抽獎(jiǎng)
- Java使用HashMap映射實(shí)現(xiàn)消費(fèi)抽獎(jiǎng)功能
相關(guān)文章
springcloud整合seata的實(shí)現(xiàn)代碼
這篇文章主要介紹了springcloud整合seata的實(shí)現(xiàn)方法,整合步驟通過引入spring-cloud-starter-alibaba-seata?jar包,文中結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05Java異常處理之java.lang.ClassCastException問題
這篇文章主要介紹了Java異常處理之java.lang.ClassCastException問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07在idea中創(chuàng)建SpringBoot模塊的兩種方式
這篇文章主要介紹了在idea中創(chuàng)建一個(gè)SpringBoot模塊,本文給大家分享兩種方式,每種方式分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05java錯(cuò)誤:無效的源發(fā)行版:18解決辦法圖文詳解
在Java開發(fā)中,如果你遇到錯(cuò)誤: 無效的源發(fā)行版,這通常意味著你正在使用的Java編譯器(通常是javac)被配置為編譯一個(gè)比你的JDK 版本更高,這篇文章主要給大家介紹了關(guān)于java錯(cuò)誤:無效的源發(fā)行版:18的解決辦法,需要的朋友可以參考下2024-08-08Spring4下validation數(shù)據(jù)校驗(yàn)無效(maven)的解決
這篇文章主要介紹了Spring4下validation數(shù)據(jù)校驗(yàn)無效(maven)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06Java基礎(chǔ)之打印萬年歷的簡單實(shí)現(xiàn)(案例)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)之打印萬年歷的簡單實(shí)現(xiàn)(案例)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07Spring?MVC啟動(dòng)之HandlerMapping作用及實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了Spring?MVC啟動(dòng)之HandlerMapping作用及實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03