zoukankan      html  css  js  c++  java
  • 04_登陆注册

    package com.dao;
    
    import com.pojo.User;
    
    /**
     * 这是针对用户进行操作的接口
     * @author Administrator
     *
     */
    public interface UserDao {
        /**
         * 这是用户登录功能
         * @param username
         * @param password
         * @return 是否登录成功
         */
        public abstract boolean isLogin(String username,String password);
    
        /**
         * 这是用户注册功能
         * @param user
         */
        public abstract void regist(User user);
    }
    
    package com.dao.impl;
    
    import java.util.ArrayList;
    
    import com.dao.UserDao;
    import com.pojo.User;
    
    /**
     * 这是用户操作的具体实现
     * @author Administrator
     *
     */
    public class UserDaoImpl implements UserDao{
        //为了让多个方法使用同一个集合,就把集合定义为成员变量
        //为了让多个对象共用一个array,所以使用static
        private static ArrayList<User> array=new ArrayList<User>();
        
        @Override
        public boolean isLogin(String username, String password) {
            //遍历集合,获取每一个用户,并判断该用户的用户名和密码是否吻合
            for(User u:array){
                if(u.getUsername().equals(username) && u.getPassword().equals(password)){
                    return true;
                }
            }
            return false;
        }
    
        @Override
        public void regist(User user) {
            //把用户信息存储集合
            
            array.add(user);
        }
    
    }
    
    package com.game;
    
    import java.util.Scanner;
    
    /**
     * 这是猜数字小游戏
     * @author Administrator
     *
     */
    public class GuessNumber {
        private GuessNumber(){
            
        }
        public static void start(){
            int number=(int)(Math.random()*100)+1;
            
            Scanner sc=new Scanner(System.in);
            
            int count=0;
            while(true){
                count++;
                System.out.println("请输入数据(1~100):");
                int guessNumber=sc.nextInt();
                if(guessNumber>number){
                    System.out.println("你猜的数据"+guessNumber+"大了");
                }else if(guessNumber<number){
                    System.out.println("你猜的数据"+guessNumber+"小了");
                }else{
                    System.out.println("恭喜你,"+count+"次就猜中了!");
                    break;
                }
            }
            
        }
    }
    
    package com.pojo;
    
    public class User {
        private String username;
        private String password;
        //private int age;
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        /*public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }*/
        public User(String username, String password) {
            super();
            this.username = username;
            this.password = password;
        }
        public User() {
            super();
        }
        
    }
    
    package com.test;
    
    import java.util.Scanner;
    
    import com.dao.UserDao;
    import com.dao.impl.UserDaoImpl;
    import com.game.GuessNumber;
    import com.pojo.User;
    
    /**
     * 用户测试类
     * @author Administrator
     *
     */
    public class UserTest {
        public static void main(String[] args) {
            //多个地方使用,就定义到外面
            
            while(true){
                //欢饮界面给出选择项
                System.out.println("--------欢迎光临------");
                System.out.println("1 登陆");
                System.out.println("2 注册");
                System.out.println("3 退出");
                System.out.println("请输入你的选择:");
                //键盘录入选择,根据选择做不同操作
                Scanner sc=new Scanner(System.in);
                //为了后面的录入信息的方面,我后面所有的信息都用String接受
                String choiceString;
                //经过简单的思考,我选择使用Switch
                String regex="^[1-3]$";
                sc=new Scanner(System.in);
                choiceString=sc.hasNext(regex)?sc.nextLine():"3";    
                UserDao ud=new UserDaoImpl();
                switch(Integer.valueOf(choiceString)){
                case 1:
                    //登陆页面界面给出用户名和密码
                    System.out.println("请输入用户名:");
                    String newUsername=sc.nextLine();
                    System.out.println("请输入密码:");
                    String newPassword=sc.nextLine();
                    boolean flag=ud.isLogin(newUsername, newPassword);
                    if(flag){
                        System.out.println("恭喜,登陆成功!");
                        
                        System.out.println("你玩吗?y/n");
                        while(true){
                            String resultString=sc.nextLine();
                            if(resultString.equalsIgnoreCase("y")){
                                //玩游戏
                                GuessNumber.start();
                            }else{
                                break;
                            }
                            System.out.println("你还玩吗?");
                        }    
                        System.out.println("谢谢使用,欢迎下次再来!");
                        System.exit(0);
                    }else{
                        System.out.println("用户名或者密码有误,登陆失败!");
                    }
                    //调用登陆功能
                    break;
                case 2:
                    //注册页面界面给出用户名和密码
                    System.out.println("请输入用户名:");
                    String newUsername1=sc.nextLine();
                    System.out.println("请输入密码:");
                    String newPassword1=sc.nextLine();
                    User user=new User();
                    user.setUsername(newUsername1);
                    user.setPassword(newPassword1);
                    //调用注册功能
    //                UserDao ud=new UserDaoImpl();
                    ud.regist(user);
                    break;
                case 3:
                    System.out.println("谢谢使用,欢迎下次再来!");
                    System.exit(0);
                    break;
                }
            }
            
            
            
            
        }
    }
  • 相关阅读:
    mysql practice
    image update to ubuntu18.04
    C++11 new feature
    bazel remote executor--- buildfarm( in docker)
    python3学习笔记13(数据结构)
    python3学习笔记12(变量作用域)
    python3学习笔记11(函数)
    jmeter 01 之beanshell preprocessor
    python3学习笔记10(迭代器和生成器)
    python3学习笔记十(循环语句)
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/5572454.html
Copyright © 2011-2022 走看看