1. 程式人生 > >第八章 獎富翁系統

第八章 獎富翁系統

package ch01;

import java.util.Random;
import java.util.Scanner;

public class Test4
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{

		Scanner input = new Scanner(System.in);/// 輸入物件
		String name = "";	// 使用者名稱
		String pwd = "";	// 密碼
		int cardNo = 0;		// 卡號
		boolean userState = false; // 使用者登入狀態 true 登入/ false 未登入

		char chose = 0;	// 用來接受使用者是否繼續 
		do
		{
			System.out.println("****歡迎進入獎富翁系統****");
			System.out.println("\t\t1.註冊");
			System.out.println("\t\t2.登入");
			System.out.println("\t\t3.抽獎");// 抽獎的時候卡號是註冊的時候來的
			System.out.println("\t\t4.登出");
			System.out.println("*************************");
			System.out.print("請選擇選單");
			System.out.println();
			int menu = input.nextInt();// 接收使用者選擇的選單
			Random random = new Random();// Random  隨機類	random 是隨機類的一個物件
			switch (menu)
			{
			case 1:
				System.out.println("[獎客富翁系統>註冊]");
				System.out.println("請填寫個人資訊");
				System.out.print("使用者名稱");
				name = input.next();
				System.out.print("密碼");
				pwd = input.next();
				System.out.println();

				cardNo = random.nextInt(9000) + 1000;// r.next(max-min+1)+min;  隨機數範圍公式
				System.out.println("註冊成功請牢記使用者名稱密碼");
				System.out.println("是否繼續y/n");
				chose = input.next().charAt(0);
				break;
			case 2:
				System.out.println("[獎客富翁系統>登入]");
				for (int i = 0; i < 3; i++)
				{

					System.out.println("請輸入使用者名稱");
					String inputName = input.next();	// 接受使用者名稱和密碼
					System.out.println("請輸入密碼");
					String inputPwd = input.next();
					if (inputName.equals(name) && inputPwd.equals(pwd))//equals 比較兩個字串是否相等
					{
						System.out.println("登入成功");
						userState = true;//更改使用者登入狀態
						break;// 如果登入成功跳出這個迴圈
					} else
					{
						System.out.println("登入失敗");
					}
					if (i == 2)// 0 1 2
					{
						System.out.println("連續登入錯誤三次");
						break;
					}

				}
				System.out.println("是否繼續y/n");
				chose = input.next().charAt(0);

				break;
			case 3:
				System.out.println("[獎客富翁系統>抽獎]");
				if (!userState)//從當前登入的使用者中取得資訊
				{
					System.out.println("您還為登入");
					System.out.println("是否繼續y/n");
					chose = input.next().charAt(0);

					break;
				}
				
				int[] lucks = new int[5];
				System.out.print("本日幸運數字是");
				// 使用隨機數產生幸運數
				for (int i = 0; i < lucks.length; i++)
				{
					lucks[i] = random.nextInt(9000) + 1000;
					System.out.print("\t" + lucks[i]);
				}
				System.out.println();
				System.out.println("您 的卡號是" + cardNo);
				boolean b=false;// b=false; 使用者未中獎 b=true; 中獎了
				for (int i = 0; i < lucks.length; i++)
				{
					if (lucks[i] == cardNo)
					{
						b=true;// 設定使用者中獎
						break;
					}
				}
				// 判斷使用者是否中獎
				if(b){
					System.out.println("恭喜中獎了");
				}else{
					System.out.println("沒有中獎");
				}
				
				System.out.println("是否繼續y/n");
				chose = input.next().charAt(0);
				break;
			case 4:
//				登出
				name = "";	 
				pwd = "";	 
				cardNo = 0; 
				userState = false;
				break;
			default:
				System.out.println("輸入有誤");
				break;
			}
		} while (chose == 'y');
		System.out.println("系統結束");
	}

}