黑马程序员技术交流社区

标题: 老黄的葵花宝典:登录验证 [打印本页]

作者: _J2EE_LiXiZhen    时间: 2017-10-22 22:30
标题: 老黄的葵花宝典:登录验证
[Java] 纯文本查看 复制代码
package cn.itcast.Test03;

import java.util.Scanner;

/**
*                 一、需求说明:实现用户注册、登陆功能;
*                         1.程序中使用一个长度为3的对象数组,存储用户的登录名和密码:
*                         例如如下格式:
*                                 登录名                    密码              生日                           爱好
*                                 zhangsan        1111        1998-03-15        旅游,唱歌
*                                 lisi                2222        2002-05-20        吃饭,睡觉,打豆豆
*                                 wangwu                3333        2001-07-28        看书,看电影,旅游
*                         注册时,要判断数组是否已满,是:则禁止注册。
*                         2.循环为用户列出菜单:
*                         1.注册     2.登陆     3.退出
*                         3.用户选择1,调用:registe()方法,执行注册流程;
*                         用户选择2,调用:login()方法,执行登陆流程;
*                         用户选择3,结束程序;
*                         4.编写方法:registe(),执行注册流程:
*                         要求用户输入以下信息(信息无需校验):
*                                                 用户名:
*                                                 登录密码:
*                                                 出生日期:
*                                                 爱好:(多个爱好中间用逗号(中英文都可以)隔开)
*                         5.编写方法:login(),执行登陆流程:
*                         请用户输入登录名、登陆密码;
*                         使用登录名和密码进行验证;
*                         通过:打印:这个用户的所有信息;
*                         未通过:打印:用户名或密码错误!
**/

public class MainApp {
        public static void main(String[] args) {
                User[] user = new User[3];
                int index = 0;
                boolean flag = true;
                while(flag) {
                        Scanner sc = new Scanner(System.in);
                        System.out.println("操作命令: 1.注册   2.登录   3.退出");
                        String temp = sc.next();
                        if(temp.equals("1")) {
                                boolean isRight = registe(user,index);
                                if(isRight) {
                                        index++;
                                }
                        } else if(temp.equals("2")) {
                                login(user);
                        } else if(temp.equals("3")) {
                                flag = false;
                        } else {
                                System.out.println("输入错误,重新输入!");
                        }
                }
        }
       
        /**
         * 方法registe: 用户注册
         * */
        public static boolean registe(User[] user,int index) {
                //判断数组长度是否满员
                if(index <= user.length-1) {
                        //创建user对象
                        User admin = new User();
                        //创建键入对象
                        Scanner sc = new Scanner(System.in);
                        System.out.println("请输入登录名:");
                        admin.setAdmin(sc.next());
                        System.out.println("请输入密码:");
                        admin.setPsw(sc.next());
                        System.out.println("请输入出生日期:");
                        admin.setBirthDay(sc.next());
                        System.out.println("请输入你的爱好:");
                        admin.setHobby(sc.next());
                        user[index] = admin;
                        System.out.println("注册成功!");
                        return true;
                } else {
                        System.out.println("用户已满,不可注册");
                        return false;
                }
        }
       
        /**
         * 方法login: 用户登录
         * */
        public static void login(User[] user) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入登录名:");
                String name = sc.next();
                System.out.println("请输入密码:");
                String psw = sc.next();
                int count = 0;
                //循环数组验证
                for (int i = 0; i < user.length; i++) {
                        if(user.getAdmin().equals(name) && user.getPsw().equals(psw)) {
                                System.out.println("登录成功!");
                                printUser(user,i);
                                count++;
                                return;
                        }
                        if(count==user.length) {
                                System.out.println("登录名或密码错误,请重试1!");
                        }
                }
        }
        /**
         * 打印用户信息的方法
         * */
        public static void printUser(User[] user,int index) {
                User admin = user[index];
                System.out.println("登录名 "+"\t"+"密码"+"\t"+"生日"+"\t"+"爱好");
                System.out.println(admin.getAdmin()+"\t"+admin.getPsw()+"\t"+admin.getBirthDay()+"\t"+admin.getHobby());
        }
}

package cn.itcast.Test03;
/**
* 用户类
* */
public class User {
        //登录名
        private String admin;
        //密码
        private String psw;
        //生日
        private String birthDay;
        //爱好
        private String hobby;
        public String getAdmin() {
                return admin;
        }
        public void setAdmin(String admin) {
                this.admin = admin;
        }
        public String getPsw() {
                return psw;
        }
        public void setPsw(String psw) {
                this.psw = psw;
        }
        public String getBirthDay() {
                return birthDay;
        }
        public void setBirthDay(String birthDay) {
                this.birthDay = birthDay;
        }
        public String getHobby() {
                return hobby;
        }
        public void setHobby(String hobby) {
                this.hobby = hobby;
        }
}











作者: wheat    时间: 2017-10-22 23:08
厉害啊

作者: Oliverwqcwrw    时间: 2017-10-22 23:08
666666666666666加油
作者: 18363802316    时间: 2017-10-28 18:32
不错不错,666666




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2