首页 > 文章列表 > java如何实现幸运抽奖功能

java如何实现幸运抽奖功能

java
317 2023-04-23

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;

    }

}