使用Java理解程式邏輯第十章----幸運抽獎

倩倩之發表於2016-09-07
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("系統退出,謝謝使用!");
		}
	}
}

相關文章