您好,登錄后才能下訂單哦!
本文實例為大家分享了java實現抽獎系統 的具體代碼,供大家參考,具體內容如下
模擬一個在終端登陸注冊的頁面
public class Cjtest { public static void main(String[] args) { String isGoOn = "n"; //循環的判斷條件是否繼續 do { System.out.println("*********幸運52********"); System.out.println("1.注冊"); System.out.println("2.登錄"); System.out.println("3.幸運大抽獎"); System.out.println("***********************"); System.out.println("請選擇菜單"); //接收用戶選擇的菜單 Scanner scanner = new Scanner(System.in); String meunNum = scanner.nextLine(); //根據用戶的選擇 來執行對應功能 meunChoose(meunNum); System.out.println("是否繼續---輸入y/n"); //接收判斷循環條件 isGoOn = scanner.nextLine(); } while (isGoOn.equals("y")); //循環結束提示 System.out.println("歡迎下次使用"); } //選擇對應的方法 public static void meunChoose(String meunNum) { switch (meunNum) { case "1": System.out.println("抽獎系統----注冊"); //調用 注冊的方法 Register.register(); case "2": System.out.println("抽獎系統----登錄"); //調用登錄的方法 User.isLogin=Login.login(); break; case "3": System.out.println("抽獎系統----幸運抽獎"); LuckDraw.lukcDraw(); break; default: System.out.println("輸入錯誤請重新輸入"); break; } } }
不連接數據庫所以模擬一個注冊時用戶信息所存放的位置
public class User { //用戶名 public static String userName = ""; //密碼 public static String passWord = ""; //幸運數字 public static int luckNumber = 0; //用戶的登錄狀態 public static boolean isLogin = false; }
注冊功能實現
public class Register { public static void register() { System.out.println("請注冊用戶的個人信息"); Scanner scanner = new Scanner(System.in); System.out.println("用戶名"); //接收用戶名 放在用戶信息中 User.userName = scanner.nextLine(); System.out.println("密碼"); //接收到用戶信息中 User.passWord = scanner.nextLine(); //隨機一個四位的1000-2000的數 保存到用戶中。 User.luckNumber = (int)(Math.random()*(2000-1000+1)+1000); //顯示用戶的注冊信息 System.out.println("用戶名"+User.userName); System.out.println("密碼"+User.passWord); System.out.println("幸運數字"+User.luckNumber); //scanner.close();標記:注意scanner 只能關閉一次 關閉后在本程序執行中 在創建也不能接收鍵盤信息了 } }
登陸
public class Login { static int number = 0;//控制循環輸入密碼三次 public static boolean login() { System.out.println("請輸入用戶名:"); //接收用戶名 Scanner scanner = new Scanner(System.in); String userName = scanner.nextLine(); System.out.println("請輸出賬號:"); String passWord = scanner.nextLine(); //判斷用戶名密碼是否匹配 if(userName.equals(User.userName)&&passWord.equals(User.passWord)) { //登陸成功 System.out.println("登陸成功"); //返回一個登錄狀態 return true; }else { //登錄失敗 有重新登錄三次機會。 number++; System.out.println("你還有"+(3-number)+"次機會"); if (number !=3) { //還有登陸的機會 login(); }else { //三次機會已用 登錄失敗 System.out.println("三次機會已用完 登錄失敗"); } //寫返回值的時候要保證每一個分支都要有返回值 return false; } } }
抽獎系統邏輯
public class LuckDraw { //記錄輸入卡號注冊 static int number = 0; public static void lukcDraw() { //是否注冊 沒注冊不能抽 if(User.userName.length() ==0 ) { //沒注冊 下面都不執行 System.out.println("你沒注冊"); return; } //是否登錄 沒登錄不讓抽 if(!User.isLogin) { System.out.println("你沒登錄"); return; } //如果卡號沒輸對 也不讓抽獎 直接return if (!isLuckNumber()) { System.out.println("卡號不對!不能登錄"); return; } //真的 可以抽獎了 //定義一個 變量保存中獎的結果 boolean isLucky = false; //隨機五個數 打印出結果 并判斷是否匹配幸運號碼 //定義一個變量 來保存累加的字符串 String s = "本次幸運的數"; 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; } //判斷是否中獎 if(User.luckNumber==num); //中獎 isLucky = true; } //打印幸運數字 System.out.println(s); if (isLucky) { System.out.println("你中獎了"); }else { System.out.println("你沒中獎"); } } public static boolean isLuckNumber() { //判斷卡號是個輸入正確 //抽獎 System.out.println("請輸入卡號"); Scanner scanner = new Scanner(System.in); int luckNumber = scanner.nextInt(); //判斷用戶輸入的卡號是不是 這個用戶之前隨機出來的那個數 if (luckNumber==User.luckNumber) { System.out.println("輸入正確抽獎馬上運行"); return true; //卡號相同可以抽獎 }else { //卡號不相同 重新輸入三次機會 number++; if (number!=3) { isLuckNumber(); }else { System.out.println("三次機會已用盡"); } return false; } } }
更多學習資料請關注專題《管理系統開發》。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。