Java实现登录和注册案例
本文实例为大家分享了Java实现登录和注册的具体代码,供大家参考,具体内容如下
登录和注册案例的分析:
我们在完成一个需求时,需要面向对象,我们必须找到能完成某个功能的类,接着调用里面的方法来完成它。而这些类我们要进行分包,在不同包下实现,Java中的分包:
com.edu.domain — 标准的Java描述类
com.edu.dao — 存放的是接口
com.edu.daoimpl — 存放的是接口的实现类
com.edu.util — 对对象进行操作的工具类
com.edu.test — 测试类
登录和注册案例用到的类:
用户类:
成员变量:用户名,密码
成员方法:登录,注册功能
测试类:
main
登录和注册案例中用到的类的详细分解:
(1)用户类(User):用户名,密码,邮箱,电话号码等等各种注册时会用到的东西。我们在实现这个登录和注册案例的时候只需要用户名和密码就够了。这是一个标准Java描述类。
package com.edu.domain; public class User { private String userName; private String passWord; 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 User(String userName, String passWord) { super(); this.userName = userName; this.passWord = passWord; } public User() { super(); // TODO Auto-generated constructor stub } }
(2)我们需要定义一个接口(UserDao)来定义注册和登录功能。接口就是对类的功能的一种扩展,它的本质是用来定义规则的。
package com.edu.dao; import com.edu.domain.User; public interface UserDao { //这个接口保证两个功能 //注册 public abstract void regist(User user); //登录 public abstract boolean isLogin(String userName,String passWord); }
(3)用户操作类(UserDaoImpl),也就是之前定义的接口UserDao的实现类。
package com.edu.dao.impl; import java.util.ArrayList; import com.edu.dao.UserDao; import com.edu.domain.User; public class UserDaoImpl implements UserDao{ //创建一个集合,定义为公有的 static ArrayList<User> users=new ArrayList<User>(); //注册方法:把用户信息存放到集合中 @Override public void regist(User user) { // TODO Auto-generated method stub users.add(user); } //登录功能:校验用户名和密码是否正确,正确返回true,否则返回false @Override public boolean isLogin(String userName, String passWord) { // TODO Auto-generated method stub boolean flag = false; for (User user : users) { if(userName.equals(user.getUserName())&&passWord.equals(user.getPassWord())){ flag = true; break; } } return flag; } }
(4)在用户完成注册登录后,我们可以实现某种功能了,例如:猜数字小游戏。再建一个游戏类(GuessNumber)。
package com.edu.game; import java.util.Scanner; public class GuessNumber { public static void playGame() { //获取一个一到一百之间的随机数 int random = (int) (Math.random()*100+1); //创建键盘录入对象,获取键盘录入数据 Scanner sc = new Scanner(System.in); System.out.println("请输入所猜测的数字:"); int number = sc.nextInt(); //创建while死循环 while (true) { if (number>random) { System.out.println("大了,请重新输入:"); number = sc.nextInt(); } if (number<random) { System.out.println("小了,请重新输入:"); number=sc.nextInt(); } if (number==random) { System.out.println("恭喜你答对了!"); break; } } } }
(5)测试类(Test)。
package com.edu.test; import java.util.Scanner; import com.edu.dao.impl.UserDaoImpl; import com.edu.domain.User; import com.edu.game.GuessNumber; public class Test { public static void main(String[] args) { while(true){ //首先给出提示 System.out.println("欢迎进入注册登录界面:"); System.out.println("1.注册"); System.out.println("2.登录"); System.out.println("3.退出"); //创建一个用户操作类 UserDaoImpl udi = new UserDaoImpl(); //创建键盘录入对象,并获取键盘录入数据 Scanner sc = new Scanner(System.in); String choice = sc.nextLine(); //利用switch循环来判断 switch (choice) { case "1": System.out.println("欢迎来到注册界面!"); System.out.println("请输入用户名:"); String userName = sc.nextLine(); System.out.println("请输入密码:"); String passWord = sc.nextLine(); //把用户名和密码封装成一个用户类对象 User user = new User(userName,passWord); //通过用户操作类对象调用注册方法 udi.regist(user); System.out.println("注册成功!"); break; case "2": System.out.println("欢迎来到登录界面!"); System.out.println("请输入用户名:"); String inputUserName = sc.nextLine(); System.out.println("请输入密码:"); String inputPassWord = sc.nextLine(); //通过用户操作类对象调用登录方法 boolean flag = udi.isLogin(inputUserName,inputPassWord); if (flag) { System.out.println("登录成功,玩游戏吧!"); GuessNumber.playGame(); }else{ System.out.println("登录失败!"); } break; case "3": default: //对于3或者其他数字的选择,都直接退出系统 System.exit(0); break; } } } }
运行结果:
注册和登录的运行结果:
猜数字游戏结束后退出系统:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
赞 (0)