由于资源限制,这里的注册登陆不涉及数据库,只是实现一个简单的单机版注册登陆功能。本文只用于记录,方便以后查找资料。
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(); }}