由于资源限制,这里的注册登陆不涉及数据库,只是实现一个简单的单机版注册登陆功能。本文只用于记录,方便以后查找资料。
package com.mingrisoft;
import java.util.Scanner;
public class rlsystem {
static User[] user=new User[100]; //设置存储用户信息的User型数组
static boolean endRegiste=false; //通过静态变量endRegiste来判断注册的用户是否已经存在,默认值为false
public static boolean main (int args,String un,String pw) { //args、un以及pw三个形参由注册activity以及登陆activity传递
Scanner sc = new Scanner(System.in);
boolean landingState=false; //传递给登陆activity的登陆状态
if(args==1){ //由注册界面传递的参数,进入注册方法
registe(un,pw,user);
}
else if(args==2){ //由登陆界面传递的形参,进入登陆判断方法
landingState=login(un,pw,user);
}
return landingState;
}
private static boolean login(String username, String password,User[] user) {
boolean landingState=false;
for(int i = 0;i<user.length;i++)
{
if(user[i]==null){ //登陆时输入为空,提示账号密码错误
landingState=false;
break;
}
else if(username.equals(user[i].getUsername())&&password.equals(user[i].getPassword())){
landingState=true;
break;
}
else{
landingState=false;
}
}
return landingState;
}
private static User[] registe(String um,String ps,User[] user) {
Scanner sc = new Scanner(System.in);
for(int i = 0;i<user.length;i++)
{
if(user[i]==null) {
if(i>0) { //数据库必须先拥有一次以上的注册记录才进行查重判断
for(int j=0;j<i;j++) { //本次注册的用户名傻瓜式地与前面每一次的注册进行比较
if(user[j].getUsername().equals(um)) {
//System.out.println("该用户名已被使用,返回选择界面");
endRegiste=true; //结束注册标识符
break;
}
}if(endRegiste) {break;} //若是重名,跳出注册方法并且返回一个endregiste的true
}
user[i] = new User(um,ps);
return user;
}
if(user[user.length-1]!=null){
return user;
}
}
return user;
}
}
自定义一个User类
package com.mingrisoft;
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) { //User类的构造函数
super();
this.username = username;
this.password = password;
}
public User() { //User类的构造函数,调用父类的构造函数
super();
}}