java登录注册功能怎么实现_使用Java代码实现登录注册功能

实现思路:分别创建5个包和5个类{cn.f.pojo(User.java);cn.f.Dao(UserDao.java);cn.f.Dao.impl(UserDaoImpl.java); cn.f.game(GuessNumber.java);  cn.f.test(UserTest.java)}

第一步:

封装cn.f.pojo(User.java)类

代码:

package cn.f.pojo;

public class User {

private String name;

private String mima;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getMima() {

return mima;

}

public void setMima(String mima) {

this.mima = mima;

}

public User(String name, String mima) {

super();

this.name = name;

this.mima = mima;

}

public User() {

super();

}

@Override

public String toString() {

return "User [name=" + name + ", mima=" + mima + "]";

}

}

第二步:

创建一个用户登录注册接口cn.f.Dao(UserDao.java)

代码:

package cn.f.Dao;

import cn.f.pojo.User;

public interface UserDao {

//    这是登陆功能

public abstract boolean isLogin(String name,String mima);

//这是注册功能

public abstract void regist(User user);

}

第三步:

创建一个实现用户登录注册功能实现类cn.f.Dao.impl(UserDaoImpl.java)

代码:

package cn.f.Dao.impl;

import java.util.ArrayList;

import cn.f.Dao.UserDao;

import cn.f.pojo.User;

//这是用户操作具体实现类

public class UserDaoImpl implements UserDao {

// 为了让多个方法能够使用一个集合,就把集合定义为成员变量

// 为了不让外人看到,就用private

// 为了让多个对象共享同一个成员变量用static

private static ArrayList u = new ArrayList();

@Override

public boolean isLogin(String name, String mima) {

// 遍历集合,获取每一个用户,并判断该用户名和密码是否和传递过来的匹配

boolean flag = false;

for (User s : u) {

if (s.getName().equals(name) && s.getMima().equals(mima)) {

flag = true;

break;

}

}

return flag;

}

@Override

public void regist(User user) {

// 把用户信息存储集合

u.add(user);

}

}

第四步:

增加用户体验用户注册登录成功后给用户玩个小游戏cn.f.game(GuessNumber.java)

代码:

package cn.f.game;

import java.util.Scanner;

public class GuessNumber {

private GuessNumber() {

}

public static void strat() {

// 产生一个随机数

int number = (int) (Math.random() * 100) + 1;

// 定义一个统计变量

int count = 0;

while (true) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入数据(1-100):");

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;

}

}

}

}

第五步:

实现用户登录注册功能测试cn.f.test(UserTest.java)

代码:

package cn.f.test;

import java.util.Scanner;

import cn.f.Dao.UserDao;

import cn.f.Dao.impl.UserDaoImpl;

import cn.f.game.GuessNumber;

import cn.f.pojo.User;

public class UserTest {

static Scanner sc = new Scanner(System.in);

// 多态

static UserDao ud = new UserDaoImpl();

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("请输入你的选择:");

// 键盘录入选择,根据选择做出不同的操作

// 为了后面录入信息的方便,我所有的数据录入全部用字符接受

String m = sc.nextLine();

switch (m) {

case "1":

denglu();

break;

case "2":

zhuce();

break;

case "3":

default:

System.out.println("谢谢使用,欢迎下次再来!");

System.exit(0);

}

}

}

public static void denglu() {

System.out.println("-------------登录界面(请先注册后再登录!)--------------");

System.out.println("请输入用户名:");

String n = sc.nextLine();

System.out.println("请输入密码:");

String p = sc.nextLine();

// 调用登录功能

boolean flag = ud.isLogin(n, p);

if (flag) {

System.out.println("登录成功!奖励你玩游戏。");

System.out.println("你要玩吗?y/n");

while (true) {

String r = sc.nextLine();

if (r.equalsIgnoreCase("y")) {

// 玩游戏

GuessNumber.strat();

System.out.println("是否继续游戏?y/n");

}else{

break;

}

}

System.out.println("谢谢使用,欢迎下次再来!");

System.exit(0);

} else {

System.out.println("用户名或者密码有误,登录失败!");

}

}

public static void zhuce() {

// 注册界面,请输入用户名和密码

System.out.println("-------------注册界面--------------");

System.out.println("请输入用户名:");

String name = sc.nextLine();

System.out.println("请输入密码:");

String mima = sc.nextLine();

// 把用户名和密码封装到一个对象中

User user = new User();

user.setName(name);

user.setMima(mima);

// 调用注册功能

ud.regist(user);

System.out.println("注册成功!");

}

}

代码运行结果:

-------------欢迎光临--------------

1.登录

2.注册

3.退出

请输入你的选择:

1

-------------登录界面(请先注册后再登录!)--------------

请输入用户名:

232

请输入密码:

232

用户名或者密码有误,登录失败!

-------------欢迎光临--------------

1.登录

2.注册

3.退出

请输入你的选择:

2

-------------注册界面--------------

请输入用户名:

1234

请输入密码:

1234

注册成功!

-------------欢迎光临--------------

1.登录

2.注册

3.退出

请输入你的选择:

1

-------------登录界面(请先注册后再登录!)--------------

请输入用户名:

1234

请输入密码:

1234

登录成功!奖励你玩游戏。

你要玩吗?y/n

y

请输入数据(1-100):

67

你猜的数据67小了

请输入数据(1-100):

87

你猜的数据87大了

请输入数据(1-100):

80

你猜的数据80大了

请输入数据(1-100):

78

你猜的数据78大了

请输入数据(1-100):

76

你猜的数据76大了

请输入数据(1-100):

74

你猜的数据74小了

请输入数据(1-100):

75

恭喜你,7次猜中了!

是否继续游戏?y/n

n

谢谢使用,欢迎下次再来!

  • 9
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值