1. 程式人生 > >棟哥帶你學Java抽獎小遊戲

棟哥帶你學Java抽獎小遊戲

使用者資訊類:
public class User {
    static String username; // 註冊時存入的使用者名稱
    static String password; // 註冊時存放的密碼
    static int count = 0;
    static int number = 0;
    static int register = 0;
    private String name; // 登入時來接收輸入的使用者名稱
    private String pass;     // 登入時來接收輸入的密碼

    public static String getUsername
() { return username; } public static void setUsername(String username) { User.username = username; } public static String getPassword() { return password; } public static void setPassword(String password) { User.password = password; } public
String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } public static int getCount() { return count; } public
static void setCount(int count) { User.count = count; } public static int getRegister() { return register; } public static void setRegister(int register) { User.register = register; } }
註冊類:
import java.util.Random;
import java.util.Scanner;

public class Register extends User{
    Scanner scanner = new Scanner(System.in);
    public void register() {    
        System.out.println("[抽獎系統 > 註冊]");
        System.out.println("請填寫個人註冊資訊");
        System.out.print("使用者名稱:");
        User.username = scanner.next();
        System.out.print("密碼:");
        User.password = scanner.next();
        System.out.println();
        System.out.println();
        System.out.println("註冊成功,請記好你的會員卡號");
        System.out.println("使用者名稱: " + User.username);
        System.out.println("密碼: " + User.password);
        System.out.println("卡號: " + (new Random().nextInt(999)+1000));
    }
    public void registerTwo() { 
        System.out.println("[抽獎系統 > 登入]");
        System.out.println("請先進行註冊");
        System.out.println("請填寫個人註冊資訊:");
        System.out.print("使用者名稱:");
        User.username = scanner.next();
        System.out.print("密碼:");
        User.password = scanner.next();
        System.out.println();
        System.out.println();
        System.out.println("註冊成功,請記好你的會員卡號");
        System.out.println("使用者名稱: " + User.username);
        System.out.println("密碼: " + User.password);
        System.out.println("卡號: " + (new Random().nextInt(999)+1000));
    }
}
登入類:
import java.util.Scanner;

public class Login extends User{
    Scanner scanner = new Scanner(System.in);   
    public void login() {
        int times = 3;
        System.out.println("抽獎系統 > 登入");
        do {
            System.out.println("請輸入使用者名稱:");
            this.setName(scanner.next());
            System.out.println("請輸入密碼:");
            this.setPass(scanner.next()); 
            if((this.getName().equals(username) && this.getPass().equals(password))) {
                System.out.println("歡迎您:" + this.getName());
                times = 0;
            }else {
                System.out.println("使用者名稱或密碼有誤,請重新輸入!");
                times --;
                if (times == 0) {
                    System.out.println("對不起三次機會用完,請明日再來!");
                    System.exit(0);
                }
            }
        } while (times > 0);
    }
}
抽獎類:
import java.util.Random;
import java.util.Scanner;

public class Lucky {
    public static void lucky() {
        if (User.number == 1) {
            Scanner scanner = new Scanner(System.in);
            int  cj = 0;
            int temp;
            String[] aArray = new String[5];
            String result;
            System.out.print("請輸入您的卡號:");
            result = scanner.nextLine();
            scanner.close();
            if(result != "") {
                System.out.print("本次幸運數字為:");
                for (int i = 0; i <= 4; i++) {
                    temp = new Random().nextInt(999)+1000;
                    aArray[i] = temp + "";
                    System.out.print(temp + " ");
                }
                for (int j = 0; j <= 4; j++) {
                    if(result.equals(aArray[j])) {
                        cj++;
                    }
                }
                System.out.println();
                if (cj>0) {
                    System.out.println("恭喜您中獎了!");
                    System.exit(0);
                }else {
                    System.out.println("很遺憾請下次再來!");
                    System.exit(0);
                }
            }
        }else {
            System.out.println("請先登入");
        }
    }
}
列印選項類:
public class Print {
    public static void printf() {
        System.out.println("******歡迎進入藍歐抽獎系統******");
        System.out.println("        1.註冊");
        System.out.println("        2.登入");
        System.out.println("        3.參加抽獎");
        System.out.println("*****************************");
        System.out.println("請選擇選單:");
    }
}
選擇呼叫功能類:
public class Select {
    Login login = new Login();
    Register register = new Register();
    public void select(String select) {
        if(select.equals("1")) {
            register.register();
            User.count = 1;
        }else if (select.equals("2")) {
            login.login();
            User.number = 1;
        }else if (select.equals("3")) {
            Lucky.lucky();
        }else if (select.equals("4")) {
            register.registerTwo();
        }else if (select.equals("n")) {
            System.exit(0);
        }else {
            System.out.println("請重新選擇");
        }
    }
    public String rTwo(String str) {
        if (str.equals("2") && User.number == 0 && User.count == 0) {
            str = Integer.parseInt(str) + 2 +"";
        }
        return str;
    }
}
組裝類:
import java.util.Scanner;

public class CJStart {
    public static void cjStart(){
        Select select = new Select();
        Scanner scanner = new Scanner(System.in);
        String str = "";
        do {
            Print.printf();
            str = scanner.next();
            str = select.rTwo(str);
            select.select(str);
            System.out.println("是否選擇繼續? y/n");
            str = scanner.next();
        } while (true);
    }
}
遊戲測試類:
public class CJTest {
    public static void main(String[] args) {
        CJStart.cjStart();
    }
}