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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package cn.itcast.dao;
//用户功能类的接口
import cn.itcast.domain.User;
/**
* 用户功能类的接口
*/
public interface UserDao {
        /**
         * 用户注册的方法
         * @param user
         */
        public abstract void userRegsit(User user) ;
        /**
         * 用户登录的方法
         * @param userName
         * @param userPassword
         * @return
         */
        public abstract boolean userLogin(String userName , String userPassword) ;
}
//接口的实现类包
package cn.itcast.dao.impl;
import java.util.ArrayList;
import cn.itcast.dao.UserDao;
import cn.itcast.domain.User;
public class UserDaoImpl implements UserDao {
        // 创建一个集合对象
        private static ArrayList<User> users = new ArrayList<User>() ;
        @Override
        public void userRegsit(User user) {
                /**
                 * 思路: 把用户直接存储到集合中
                 */
                // 添加元素
                users.add(user) ;
        }
        public boolean userLogin(String userName, String userPassword) {
                // 定义一个boolean类型的变量 , 作用: 记录登录的结果
                boolean flag =  false ;
                /**
                 * 思路: 遍历集合,获取每一个User对象,然后使用该User对象中的用户名和密码与传递进来的用户名和密码进行匹配
                 * 如果都匹配成功,那么说明登录成功 ; 否则登录失败
                 */
                for(User user : users){
                        if(user.getUserName().equals(userName) && user.getUserPassword().equals(userPassword)){
                                flag = true ;
                                break ;
                        }
                }
                // 返回结果
                return flag;
        }
}

//用户类包
package cn.itcast.domain;
public class User {
        // 成员变量
        private String userName ;                        // 用户名
        private String userPassword ;                // 密码
        public User() {
                super();
        }
        public User(String userName, String userPassword) {
                super();
                this.userName = userName;
                this.userPassword = userPassword;
        }
        public String getUserName() {
                return userName;
        }
        public void setUserName(String userName) {
                this.userName = userName;
        }
        public String getUserPassword() {
                return userPassword;
        }
        public void setUserPassword(String userPassword) {
                this.userPassword = userPassword;
        }
}

//游戏包
package cn.itcast.game;
import java.util.Random;
import java.util.Scanner;
public class GuessGame {
        private GuessGame() {}
        public static int startGame() {
                System.out.println("-------------------进入猜数字小游戏---------------------");
                // 生成随机数
                Random random = new Random() ;
                int randomNum = random.nextInt(100) + 1 ;
                // 键盘录入数据
                Scanner sc = new Scanner(System.in) ;
                // 定义一个猜数字的次数
                int guessNum = 5 ;
                // 定义一个int类型的变量,作用: 用来记录猜数字的结果
                int result = 1 ;
                while(true){
                        if(guessNum == 0){
                                System.out.println("次数不够了........................");
                                break ;
                        }
                        System.out.println("请您输入一个数字: ");
                        int num = sc.nextInt() ;
                        if(num == randomNum){
                                System.out.println("恭喜您猜中了,到账100万................");
                                result = 2 ;
                                break ;
                        }else if(num > randomNum){
                                System.out.println("对不起大了.................");
                        }else {
                                System.out.println("对不起小了..................");
                        }
                        guessNum-- ;       
                }
                return result ;       
        }
        public static void main(String[] args) {
                startGame() ;
        }
}

//测试类包
package cn.itcast.test;
import java.util.Scanner;
import cn.itcast.dao.UserDao;
import cn.itcast.dao.impl.UserDaoImpl;
import cn.itcast.domain.User;
import cn.itcast.game.GuessGame;
public class UserTest {
        public static void main(String[] args) {
                int userMoney = 1000 ;
                while(true){
                        System.out.println("==================欢迎使用ITCAST后台管理系统==================");
                        System.out.println("1:        登录") ;
                        System.out.println("2:        注册") ;
                        System.out.println("3:        退出") ;
                        System.out.println("===========================================================");
                        // 创建Scanner对象让用户进行选择
                        Scanner sc = new Scanner(System.in) ;
                        System.out.println("你好 , 请输入您的选项(1,2,3):");
                        String choice = sc.nextLine() ;
                        // 创建用户功能类的对象
                        UserDao userDao = new UserDaoImpl() ;
                        // 进行选择
                        switch(choice){
                                case "1" :
                                        System.out.println("==================欢迎登录==================");
                                        System.out.println("请您输入用户名: ");
                                        String userName = sc.nextLine() ;
                                        System.out.println("请您输入密码: ");
                                        String userPassword = sc.nextLine() ;
                                        // 登录
                                        boolean flag = userDao.userLogin(userName, userPassword) ;
                                        if(flag){
                                                System.out.println("恭喜您,登录成功....................");
                                                System.out.println("是否玩猜数字小游戏,猜中可获得100万奖金Y/N?");
                                                while(true){
                                                        String line = sc.nextLine() ;
                                                        if(line.equalsIgnoreCase("Y")){
                                                                if(userMoney > 400){
                                                                        int result = GuessGame.startGame();
                                                                        if(result == 2) {
                                                                                userMoney += 1000000 ;
                                                                        }else {
                                                                                userMoney -= 400 ;
                                                                        }
                                                                        System.out.println("还想玩吗? Y / N");
                                                                }else {
                                                                        System.out.println("余额不足请充值...............");
                                                                        System.exit(0);                // 退出虚拟机
                                                                }
                                                        }else {
                                                                System.exit(0);                // 退出虚拟机
                                                        }
                                                }
                                        }else {
                                                System.out.println("用户名或者密码错误..................");
                                        }
                                        break ;
                                case "2" :
                                        System.out.println("==================欢迎注册==================");
                                        System.out.println("请您输入用户名: ");
                                        String inputUserName = sc.nextLine() ;
                                        System.out.println("请您输入密码: ");
                                        String inputUserPassword = sc.nextLine() ;
                                        // 把用户录入的数据封装成一个User对象
                                        User user = new User() ;
                                        user.setUserName(inputUserName) ;
                                        user.setUserPassword(inputUserPassword) ;
                                        // 调用用户功能类完成注册
                                        userDao.userRegsit(user) ;
                                        System.out.println("恭喜您注册成功..........................");
                                        break ;
                                case "3" :
                                default :
                                        System.out.println("欢迎下次再来,哈哈...............");
                                        System.exit(0) ;        // 退出系统
                        }
                }
        }
}

多多交流。。。。。微信yan451704940

0 个回复

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