使用Java理解程式邏輯第十章----幸運抽獎
阿新 • • 發佈:2019-02-05
import java.util.Scanner; public class LuckyNumber5 { /** * 幸運抽獎 */ public static void main(String[] args) { String answer = "y"; // 標識是否繼續 String userName = ""; // 使用者名稱 String password = ""; // 密碼 int cardNumber = 0; // 卡號 boolean isRegister = false; // 標識是否註冊 boolean isLogin = false; // 標識是否登入 int max = 9999; int min = 1000; Scanner input = new Scanner(System.in); do { System.out.println("*****歡迎進入獎客富翁系統*****"); System.out.println("\t1.註冊"); System.out.println("\t2.登入"); System.out.println("\t3.抽獎"); System.out.println("***************************"); System.out.print("請選擇選單:"); int choice = input.nextInt(); switch (choice) { case 1: System.out.println("[獎客富翁系統 > 註冊]"); System.out.println("請填寫個人註冊資訊:"); System.out.print("使用者名稱:"); userName = input.next(); System.out.print("密碼:"); password = input.next(); // 獲取4位隨機數作為卡號 cardNumber = (int)(Math.random()*(max-min))+min; System.out.println("\n註冊成功,請記好您的會員卡號"); System.out.println("使用者名稱\t密碼\t會員卡號"); System.out.println(userName + "\t" + password + "\t" + cardNumber); isRegister = true; // 註冊成功,標誌位設定為true break; case 2: System.out.println("[獎客富翁系統 > 登入]"); if (isRegister) { // 判斷是否註冊 // 3次輸入機會 for (int i = 1; i <= 3; i++) { System.out.print("請輸入使用者名稱:"); String inputName = input.next(); System.out.print("請輸入密碼:"); String inputPassword = input.next(); if (userName.equals(inputName) && password.equals(inputPassword)) { System.out.println("\n歡迎您:" + userName); isLogin = true; // 登入成功,標誌位設定為true break; } else if (i < 3) { System.out.println("使用者名稱或密碼錯誤,還有" + (3 - i) + "次機會!"); } else { System.out.println("您3次均輸入錯誤!"); } } } else { System.out.println("請先註冊,再登入!"); } break; case 3: System.out.println("[獎客富翁系統 > 抽獎]"); if (!isLogin) { // 判斷是否登入 System.out.println("請先登入,再抽獎!"); System.out.println("繼續嗎?(y/n)"); answer = input.next(); } else { //生成5個4位隨機數字,並儲存在陣列中 int[] luckynums = new int[5]; for(int i = 0; i < luckynums.length; i++){ luckynums[i] = (int)(Math.random()*(max-min))+min; } System.out.print("請輸入您的卡號:"); int yourcard = input.nextInt(); int i; System.out.print("\n本日的幸運數字為:"); //輸出5個隨機幸運數字 for (i = 0; i < luckynums.length; i++) { System.out.print(luckynums[i] + " "); } //依次取出每個數字 與 輸入的數字比較 for (i = 0; i < luckynums.length; i++) { if (luckynums[i] == yourcard) { System.out.println("\n恭喜!您是本日的幸運會員!"); break; } } if (i == luckynums.length) { System.out.println("\n抱歉!您不是本日的幸運會員!"); } } break; default: System.out.println("[您的輸入有誤!]"); break; } System.out.print("繼續嗎?(y/n):"); answer = input.next(); System.out.println(""); } while ("y".equals(answer)); if ("n".equals(answer)) { System.out.println("系統退出,謝謝使用!"); } } }