模拟登陆注册界面

创建一个用户实体类:

public class User {

    private String username;
    private String password;

    public User() {
        super();
    }

    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;
    }
}

用户操作接口:

package org.westos.dao;

import org.wesots.entity.User;

public interface UserDao {

    public abstract boolean isLogin(String username, String password);

    public abstract void regist(User user);
}

用户操作的接口实现类:

package org.westos.dao.impl;

import java.util.ArrayList;

import org.wesots.entity.User;
import org.westos.dao.UserDao;

public class UserDaoImpl implements UserDao {

    private static ArrayList<User> array = new ArrayList<User>();

    @Override
    public boolean isLogin(String username, String password) {

        boolean flag = false;

        for (User u : array) {

            if (u.getUsername().equals(username)
                    && u.getPassword().equals(password)) {
                flag = true;
                break;
            }
        }
        return flag;
    }

    public void regist(User user) {
        array.add(user);
    }
}

猜数字游戏类:

package org.westos.game;

import java.util.Scanner;

public class GuessNumberGame {

    private GuessNumberGame() {
    }

    public static void start() {
        int number = (int) (Math.random() * 100 + 1);

        int count = 0;

        while (true) {

            Scanner sc = new Scanner(System.in);
            System.out.println("请你输入一个数据:");
            int guessNumber = sc.nextInt();

            count++;

            if (guessNumber > number) {
                System.out.println("你要猜的数据" + guessNumber + "大了");

            } else if (guessNumber < number) {
                System.out.println("你要猜的数据" + guessNumber + "小了");
            } else {
                System.out.println("恭喜您" + count + "次猜中了");
                break;
            }
        }
    }
}

测试类:

package org.westos.test;

import java.util.Scanner;

import org.wesots.entity.User;
import org.westos.dao.UserDao;
import org.westos.dao.impl.UserDaoImpl;
import org.westos.game.GuessNumberGame;

/**
 * 用户的测试类
 * 
 * 注意事项: 1)登陆功能和注册功能使用的是同一个集合,将集合的对象的数据共享,应该用static 2):登陆成功应该退出界面,
 * 现在使用switch语句,遇见break,只是结束switch语句并不能结束循环语句----->
 * 
 * @author Apple
 */
public class UserTest {

    public static void main(String[] args) {
        // 为了能够回来,加入while循环
        while (true) {
            // 给出选择的界面
            System.out
                    .println("-------------------欢迎光临------------------------");
            System.out.println("请选择:");
            System.out.println("1  登陆");
            System.out.println("2  注册");
            System.out.println("3  退出");

            // 创建键盘录入对象
            Scanner sc = new Scanner(System.in);

            // 根据不同的选择给出界面,简单分析下
            // 为了方便数据的录入,就是用String类型接收
            String choiceString = sc.nextLine();

            // 由于用户都需要调用登陆和注册功能,通过接口多态,所以将该用户操作的登陆对象定义到switch语句外面
            UserDao ud = new UserDaoImpl();

            // 简单分析:就可以使用switch语句
            switch (choiceString) {
            case "1":
                // 登陆界面
                System.out.println("------------登陆界面--------------");
                System.out.println("请输入用户名:");
                String username = sc.nextLine();
                System.out.println("请您输入密码:");
                String password = sc.nextLine();

                // 需要调用登陆功能
                // UserDao ud = new UserDaoImpl() ;
                boolean flag = ud.isLogin(username, password);
                // 判断
                if (flag) {
                    System.out.println("登陆成功,开始玩游戏吗?");

                    System.out.println("玩游戏吗?y/n");

                    while (true) {
                        String resultString = sc.nextLine();
                        if (resultString.equalsIgnoreCase("y")) {
                            // 开始玩游戏
                            GuessNumberGame.start();
                            System.out.println("你还玩吗?y/n");
                        } else {
                            break;
                        }
                    }
                    System.out.println("谢谢使用,下次再来...");

                    // break ;//遇见break,只是结束switch语句并不能结束循环语句
                    System.exit(0);
                } else {
                    System.out.println("用户名或者密码错误,请重新输入....");
                }
                break;
            case "2":
                // 注册界面
                System.out.println("------------注册界面--------------");
                System.out.println("请您输入用户名:");
                String newUserName = sc.nextLine();
                System.out.println("请您输入密码:");
                String newPassword = sc.nextLine();

                // 将用户名和密码封装到用户对象中
                User u = new User();
                u.setUsername(newUserName);
                u.setPassword(newPassword);

                // 调用注册的功能:
                // 接口多态:
                // UserDao ud = new UserDaoImpl() ;
                ud.regist(u);
                System.out.println("注册成功..");
                break;
            case "3":
            default:
                System.out.println("谢谢使用,下次再来!");
                System.exit(0);
                break;
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值