A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© keto 中级黑马   /  2015-6-19 20:48  /  468 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Demo {
        public static void main(String[] args) {
                //1.定义一个集合,存储所有的用户的登陆名和密码;
                ArrayList<User> userList = new ArrayList<>();
                //2.需要从控制台接收数据
                Scanner sc = new Scanner(System.in);
                //3.流程:
                loop:
                while(true){
                        //1).控制台显示菜单:
                        System.out.print("请选择:1.注册   2.登录    3.退出:");
                        int op = sc.nextInt();
                        //可以用switch可以用if判断
                        if(op == 1){//要注册;
                                //A.引导用户输入注册名和密码
                                System.out.print("请输入登陆名:");
                                String uName = sc.next();
                                System.out.print("请输入登录密码:");
                                String uPwd = sc.next();
                               
                                //B.进行一些验证:字段是否为空,长度是否符合要求......
                                if(uName == null || uName.trim().length() == 0){
                                        System.out.print("请填写您的注册登陆名");
                                        continue;
                                }
                                if(uPwd == null || uPwd.trim().length() == 0){
                                        System.out.print("请填写您的密码!");
                                        continue;
                                }
                               
                                //C.要验证:登陆名是否有重复;
                                for(User user : userList){
                                        //依次判断登录名是否已经存在
                                        if(user.getUserName().equals(uName)){
                                                //用户名已被使用,禁止注册;
                                                continue loop;
                                        }
                                }
                               
                                //如果代码到这里。登陆名验证通过,可以注册
                               
                                //D:封装一个User对象,存到集合中;
                                User user = new User(uName,uPwd);
                                userList.add(user);
                               
                                //E:提示用户注册成功,继续循环
                                System.out.println("注册成功!");
                                continue;
                               
                               
                        }else if(op == 2){//要登录
                        //        A.引导用户输入登录名和登录密码;
                                System.out.print("请输入登录名:");
                                String uName = sc.next();
                                System.out.print("请输入登录密码:");
                                String uPwd = sc.next();
                               
                        //        B.程序接收到登陆名和密码后,可以进行一些基本验证:字段是否为空,长度是否符合要求......
                                if(uName == null || uName.trim().length() == 0){
                                        System.out.print("请填写您的登陆名");
                                        continue;
                                }
                                if(uPwd == null || uPwd.trim().length() == 0){
                                        System.out.print("请填写您的密码!");
                                        continue;
                                }
                        /*        C.到集合中取找:是否有相同的用户和密码;
                                       存在:登录成功;
                                       不存在:提示登陆名或密码错误,重新输入;可以加入登录次数,如果三次登录失败,系统退出;
                        */
                                boolean flag = false;//标记用户名和密码是否正确
                                for(User user : userList){
                                        if(user.getUserName().equals(uName) &&
                                                        user.getUserPwd().equals(uPwd)){
                                                System.out.println("登录成功!");
                                                flag = true;
                                                //做其它事情。
                                                System.exit(0);
                                        }
                                }
                                if(!flag){
                                        System.out.println("登录名或密码错误,请重新输入!");
                                        continue;
                                }
                               
                        }else if(op == 3){//要退出
                                System.out.println("谢谢使用,拜拜!");
                        //        break;//结束循环、因为循环后面没有其它语句,也就意味着结束程序;
                                System.exit(0);//终止虚拟机
                        }
                }
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马