public class Demo { static Scanner input=new Scanner(System.in); static String[]users=new String[2];//存储用户名 static String[]pswds=new String[2];//存储用户密码 static int userCon =0;//记录用户真实个数,初始为 0,每次注册成功+1 public static void main(String[] args) { test: while(true){ show();//调用一次主菜单 int i=input.nextInt();//调用一次键盘录入 switch(i){//分别调用相应的方法 case 1: addUser();//用户注册方法调用 continue; case 2: logIn();//用户登陆方法调用 continue; case 3: setPswd();//忘记密码方法调用 continue; case 4: System.out.println("系统已退出"); break test; default: System.out.println("输入错误,请重新输入"); break; } } } public static void addUser() { System.out.println("=====账号注册====="); System.out.print("请输入要注册的用户名:"); String user=input.next();//存储录入的用户名 System.out.print("请输入要注册的密码:"); String password=input.next();//存储录入的密码 if(userState(user)){ System.out.println("用户名已经存在"); }else{//可以注册 //判断数组空间是否足够,是否需要扩容 if(userCon()){//检测数组是否有空余空间的结果 addUserCon();//如果需要扩容,那么调用扩容方法 } users[userCon]=user;//用户名和密码都写入数组中 pswds[userCon]=password; userCon++;//真实用户数自增 System.out.println("恭喜,“"+user+"”注册成功"); } } public static boolean userState(String user){//接收要检测的用户名,已存在该用户返回 true,没有返回 false for (String i : pswds) { if(i==user)//代表此时有该用户 return true; } return false; } public static void logIn() { System.out.println("=====账号登录====="); System.out.print("请输入用户名:"); String user=input.next(); //判断用户名是否存在,不存在给出提示,退出此方法,进入主菜单 if(userState(user)){//如果存在用户名,那么进行用户名( user )和密码( password )的校验 System.out.print("请输入密码:"); String password=input.next(); int i = 0;//记录用户名在 users 数组中的下标 for (; i < users.length; i++) { if(users[i]==user){//数组下标中的用户名跟输入的用户名一致的话,执行密码校验方法 break; } //用户名和密码的索引是一起存放的,所以下标相同 if(pswds[i]==password){//如果密码一致的话,输出 System.out.println("欢迎"+user+"登录"); }else {//密码不一致,输出 System.out.println("密码错误"); } } }else{ System.out.println("用户名不存在,请先注册"); } } public static void setPswd() { System.out.println("=====忘记密码====="); } public static void addUserCon() {//调用数组方法进行扩容 //扩容时要注意需扩容两个,只扩容一个的话显示数组空间异常 users=Arrays.copyOf(users, users.length2); pswds=Arrays.copyOf(pswds, pswds.length2); System.out.println("扩容完毕,可以继续注册"); } public static boolean userCon(){//校验是否有空余,是否需要扩容 需要返回 true,否则返回 false if(users.length>userCon){//如果用户存储数组长度大于真实用户数,不需要扩容,反之需要 return false; }else{ return true; } } public static void show(){//主菜单方法 System.out.println("========欢迎光临========"); System.out.println("**********************"); System.out.println(" 请按照提示进行操作 "); System.out.println("1.注册账号"); System.out.println("2.登录账号"); System.out.println("3.忘记密码"); System.out.println("4.退出登录"); } }
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.