黑马程序员技术交流社区
标题:
Java用户登录注册案例
[打印本页]
作者:
我是一棵胖树
时间:
2015-7-6 23:22
标题:
Java用户登录注册案例
用户注册案例分析
需要的变量
1,用户名
2,年龄
3,邮箱
4,手机号码
需要的类
1,工具类
作用:用于给对象初始化 ,记录对象的所录入的信息
2,接口类
作用:定义登陆所需要的用户名,密码的方法。 定义注册时,把输入的变量赋值,再进行包装成一个工具类的对象存入集合当中
3,实现类
作用:定义集合,用来存储注册时的对象信息。 录入注册信息后,定义登录的比较方法,将输入的信息与注册时的信息相对比。
4,测试类
作用,录入注册信息,并且把录入的对象传输到集合当中,
录入登录信息,与使用方法与注册信息相对比。
作者:
我是一棵胖树
时间:
2015-7-6 23:24
package z.Students;
//工具类
public class StudentsTest2 {
// 定义 用户名,密码,邮箱,手机登信息
private String name;
private String mima;
private String emila;
private String phone;
public StudentsTest2() {
super();
// TODO Auto-generated constructor stub
}
//构造方法
public StudentsTest2(String name, String mima, String emila, String phone) {
super();
this.name = name;
this.mima = mima;
this.emila = emila;
this.phone = phone;
}
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 String getEmila() {
return emila;
}
public void setEmila(String emila) {
this.emila = emila;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
//复写tostring方法,当用到tostring时,打印的会是以下信息
public String toString() {
return "StudentsTest2 [name=" + name + ", mima=" + mima + ", emila="
+ emila + ", phone=" + phone + "]";
}
}
作者:
我是一棵胖树
时间:
2015-7-6 23:26
package z.Studentshixian;
//接口方法类
import z.Students.StudentsTest2;
public interface Studentsfangfa1 {
// 定义接口,定义以下的成员方法。登录传输数据,和注册时传入集合对象
public abstract boolean denglu(String name,String mima);
public abstract void zhuce(StudentsTest2 s);
}
作者:
我是一棵胖树
时间:
2015-7-6 23:27
package z.Studentshixian;
//实现接口
import java.util.ArrayList;
import z.Students.StudentsTest2;
public class Studentshixian1 implements Studentsfangfa1{
// 创建集合的对象
private static ArrayList a=new ArrayList();
// 复写接口中的方法,形参是工具类的对象,并且存入集合当中
public void zhuce(StudentsTest2 s) {
// TODO Auto-generated method stub
a.add(s);
}
// private static int x;
// @Override 复写接口当中登录方法,传入数据name和密码
public boolean denglu(String name, String mima) {
// TODO Auto-generated method stub
boolean falg= false; //将false赋值
for (int i = 0; i < a.size(); i++) {
// 遍历集合,将集合当中的元素向下转型赋值给引用对象StudentsTest2。
StudentsTest2 s=(StudentsTest2) a.get(i);
if(s!=null){
// 将集合里的存储的用户名和传入的键盘输入的信息做比较。如果对,则将falg重新赋值true
if(s.getName().equals(name)&&s.getMima().equals(mima)){
falg= true;
break;
}
}
}
return falg; //如果是错的,则直接放回true,如果是对的,falg为true
}
}
作者:
我是一棵胖树
时间:
2015-7-6 23:28
package z.Studentsceshi;
import java.util.Scanner;
import z.Students.StudentsTest2;
import z.Studentshixian.Studentshixian1;
import z.Studentshixian.Studentsshixian;
public class Studentceshi1 {
public static void main(String[] args) {
// 因为注册和登录是不确定次数的重复,所以定义while循环
while(true){
Scanner sc=new Scanner(System.in);
System.out.println("注册开始");
System.out.println("1.登陆");
System.out.println("2.注册");
System.out.println("3.退出");
System.out.println("请选择");
// 将选择的登录或者是注册的内容用line记录
String line=sc.nextLine();
// 新特性,switch判断里可加string类型,用来判断line选择时,是选择的什么。
switch(line){
case "1":
// 如果选登录,则输入用户名和密码
System.out.println("请输入用户名");
String name=sc.nextLine();
System.out.println("请输入密码");
String mima=sc.nextLine();
// 创建操作类的对象,并且把键盘录入的信息传输到登录比较的方法当中,用来比较
Studentshixian1 s=new Studentshixian1();
if(s.denglu(name, mima)){
// 如果返回值是true,则登录成功
System.out.println("恭喜你,登陆成功");
System.exit(0);
// 并且退出虚拟机
}
else{
// 如果失败了,则返回主界面(因为while是个死循环)
System.out.println("登陆失败,返回主界面");
}
break;
case "2":
// 如果选的是注册,键盘输入用户名密码等信息、
System.out.println("欢迎来到注册界面");
System.out.println("请输入用户名");
String uname=sc.nextLine();
System.out.println("请输入密码");
String umima=sc.nextLine();
System.out.println("请输入手机号码");
String uphone=sc.nextLine();
System.out.println("请输入邮箱");
String uemail=sc.nextLine();
// 创建工具类的对象,将键盘录入的信息给工具类赋值,
StudentsTest2 s2=new StudentsTest2();
s2.setName(uname);
s2.setMima(umima);
s2.setEmila(uemail);
s2.setPhone(uphone);
Studentshixian1 s3=new Studentshixian1();
s3.zhuce(s2);//将键盘录入的信息封装成一个类,传入到集合当中
System.out.println("恭喜,注册成功");
break;
default://如果登录失败或者选择退出,则停止虚拟机退出。
System.out.println("谢谢你的使用");
System.exit(0);
break;
}
}
}
}
作者:
成佳裕
时间:
2015-7-6 23:42
胖子么么哒
作者:
zimi626
时间:
2015-7-6 23:46
很给力。。。有潜力!
作者:
430422
时间:
2015-7-6 23:48
顶一个!
作者:
430422
时间:
2015-7-7 00:02
加油啊加油
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2