首頁 > 軟體

java實現幸運抽獎功能

2022-03-17 10:01:16

本文範例為大家分享了java實現幸運抽獎功能的具體程式碼,供大家參考,具體內容如下

本系統較為簡單,未使用是什麼多的演演算法,也未新增儲存檔案讀取檔案功能,

1、任務

模擬註冊登入幸運抽獎全過程

2、主要功能:

1.註冊
2.登入
3.退出登入
4.抽獎
5.退出系統

首頁:

1.輸出選單
2.選擇選單編號
3.如果編號選擇錯誤,輸出“您的輸入有誤!”

註冊:

1.輸入使用者名稱和密碼,系統產生4位元亂數作為卡號。
2.註冊成功,輸出使用者資訊

登入:

1.輸入註冊時的使用者名稱和密碼,登入成功,系統提示登陸成功。
2.如果使用者名稱和密碼輸入錯誤,提示使用者繼續輸入。

退出登入:

1.若使用者已登入則退出登入
2.若使用者未登入則顯示您未登入,

抽獎:

1.輸入會員卡號,系統生成5個4位元亂數作為幸運數位
2.如果會員卡號是其中之一,則成為本日幸運會員;否則不是幸運會員

退出系統:

若使用者想結束對本系統的使用可退出系統,結束程式。

程式碼實現: 

import java.util.Scanner;
 
class User{//使用者
    String name;
    String password;
    int cardid;
    User(String name,String password){
        this.name=name;
        this.password=password;
        cardid=(int)(Math.random()*9000+1000);
    }
    String getName(){
        return name;
    }
    String getPassword(){
        return password;
    }
    int getCardid(){
        return cardid;
    }
}
public class Lottery {//抽獎系統
 
    public static void main(String[] args) {//main方法
        User[]user=new User[10];
        int total=0;//註冊人數
        int j=0;//是否退出系統
        int x=0;//登入狀態,預設未登入
        int y=-1;//當前登入使用者元素
        do {
            System.out.println("*****歡迎進入幸運抽獎系統*****");
            System.out.println("t1、註冊");
            System.out.println("t2、登入");
            System.out.println("t3、退出登入");
            System.out.println("t4、抽獎");
            System.out.println("t5、退出系統");
            System.out.print("t請選擇:");
            int choice;
            Scanner reader=new Scanner(System.in);
            choice=reader.nextInt();
 
            switch (choice){
                case 1:
                    if (x==0)
                    total = getTotal(user, total);
                    else
                        System.out.println("您正在登入中,請先退出登入再註冊!n");
                    break;
                case 2:
                    if (x==0) {
                        int i = 0;
                        do {
                            y = toLogin(user, total);
                            if (y==-1) {
                                System.out.println("您的輸入有誤,請重新輸入!n");
                                i = 1;
                            }else {
                                x = 1;
                                i=0;
                            }
                        } while (i == 1);
                    }else
                        System.out.println("您正在登入中!n");
                    break;
                case 3:
                    if (x==1){
                        x=0;
                        System.out.println("退出登入成功!n");
                    }else
                        System.out.println("您未登入,請先登入!n");
                    break;
                case 4:
                    if (x==1){
                        toLottery(user, y);
                    }else
                        System.out.println("您未登入,請先登入!n");
                    break;
                case 5:
                    j=1;
                    break;
                default:
                    System.out.println("您的輸出有誤,請重新輸入!n");
            }
        }while(j!=1);
    }
 
    private static void toLottery(User[] user, int y) {//抽獎方法
        int j=0;
        System.out.println("本日幸運會員卡號為:");
        int cardid[]=new int[5];
        cardid[0]=(int)(Math.random()*9000+1000);
        cardid[1]=(int)(Math.random()*9000+1000);
        cardid[2]=(int)(Math.random()*9000+1000);
        cardid[3]=(int)(Math.random()*9000+1000);
        cardid[4]=(int)(Math.random()*9000+1000);
        for (int i=0;i<5;i++){
            System.out.print(cardid[i]+"  ");
            if(user[y].getCardid()==cardid[i]){
                j=1;
            }
        }
        System.out.println("n您的會員卡號為:n"+user[y].getCardid());
        if (j==1)
            System.out.println("恭喜您,成為本日的幸運會員!n");
        else
            System.out.println("很遺憾,您不是本日幸運會員!n");
    }
 
    private static int toLogin(User[] user, int total) {//登入方法
        Scanner reader=new Scanner(System.in);
        System.out.print("請輸入您的使用者名稱:");
        String name= reader.nextLine();
        System.out.print("請輸入您的密碼:");
        String password= reader.nextLine();
        int j=-1;
        for (int i = 0; i< total; i++) {
            if (name.equals(user[i].getName())) {
                if (password.equals(user[i].getPassword())) {
                    System.out.println("登陸成功!");
                    System.out.println("使用者名稱:"+name+"n密碼:"+password+"n會員號:"+user[i].getCardid()+"n");
                    j=i;
                }
            }
        }
        return j;
    }
    private static int getTotal(User[] user, int total) {//註冊方法
        Scanner reader=new Scanner(System.in);
        System.out.print("請輸入您的使用者名稱:");
        String name= reader.nextLine();
        System.out.print("請輸入您的密碼:");
        String password= reader.nextLine();
        for (int i=0;i<total;i++) {
            if (name.equals(user[i].getName())) {
                System.out.println("使用者名稱已存在,請重新輸入!n");
                return total;
            }
        }
        user[total]=new User(name,password);
        System.out.println("使用者名稱:"+name+"n密碼:"+password+"n會員號:"+user[total].getCardid()+"n");
        total++;
        return total;
    }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com