java实现模拟注册功能,使用数组存储个人信息,两种实现菜单的方法

模拟注册功能
功能要求:
1.使用数组存储个人信息;
2.register(String id,String name,String pwd,String email):void;
3.check(String name,String pwd):boolean
4.updateInfo(String name,String email):void
5.updatePwd(String newPwd):void

main方法
1.注册
2.登录
0.退出系统

登陆成功之后,进入用户管理
1.修改个人信息
2.修改密码
0.返回上一级菜单

话不多说直接来看源码,这是菜单栏的实现,主要是使用了switch语句来实现,识别用户输入的数字

public static String [] uid = {};
public static String [] uname = {};
public static String [] upassword = {};
public static String [] uemail = {};
static int  nowId = -1;
	
public static void main(String[] args) {
			menu();
}
	
private static void menu() {
  Scanner scanner = new Scanner(System.in);
  System.out.println("1:注册");
  System.out.println("2:登录");
  System.out.println("0:退出系统");
  int a = scanner.nextInt();
  switch (a) {
  case 1:
   System.out.println("请输入用户id");
   String id = scanner.next();
   System.out.println("请输入用户名");
   String name = scanner.next();
   System.out.println("请输入密码");
   String password = scanner.next();
   System.out.println("请输入email");
   String email = scanner.next();
   register(id, name, password, email);
   break;
        case 2:
         System.out.println("请输入用户名");
         name = scanner.next();
         System.out.println("请输入密码");
         password = scanner.next();
         denglu(name, password);
   break;
        case 0:
         System.out.println("退出成功");
   System.exit(0);
   break;
  default:
   System.out.println("输入错误请重输!");
   menu();
   break;
  }

下面是菜单menu的第二种实现,和第一种实现任选一种都行

private static void menu() {
  Scanner scanner = new Scanner(System.in);
  while (true) {
   System.out.println("1:注册");
   System.out.println("2:登录");
   System.out.println("0:退出系统");
   int a = scanner.nextInt();
   switch (a) {
   case 1:
    System.out.println("请输入用户id");
    String id = scanner.next();
    System.out.println("请输入用户名");
    String name = scanner.next();
    System.out.println("请输入密码");
    String password = scanner.next();
    System.out.println("请输入email");
    String email = scanner.next();
    register(id, name, password, email);
    break;
         case 2:
          System.out.println("请输入用户名");
          name = scanner.next();
          System.out.println("请输入密码");
          password = scanner.next();
          denglu(name, password);
    break;
         case 0:
          System.out.println("退出成功");
    System.exit(0);
   
   default:
    System.out.println("输入错误请重输!");
    
    break;
  }
 }
 }

登陆方法及剩余代码

private static void register(String id,String name,String password,String email) {
			uid = Arrays.copyOf(uid, uid.length+1);
			uid [uid.length-1] = id;
			uname = Arrays.copyOf(uname, uname.length+1);
			uname [uname.length-1] = name;
			upassword = Arrays.copyOf(upassword, upassword.length+1);
			upassword [upassword.length-1] = password;
			uemail = Arrays.copyOf(uemail, uemail.length+1);
			uemail [uemail.length-1] = email;
			System.out.println("注册成功");
			showinfo();
			menu();
	}
	
	private static void showinfo() {
		for(int i=0;i<uid.length;i++) {
			System.out.println("用户id :"+uid[i]+"\t"+"用户名称 :"+uname[i]+"\t"+"用户密码 :"+upassword[i]+"\t"+"email :"+uemail[i]);
		}
	}
	
	/*private static boolean check(String name,String pwd) {
			
		if (name.equals(uname[nowId])&&pwd.equals(upassword[nowId])) {
				return true;
			}
			return false;
	}*/
	
	private static void denglu(String name,String pwd) {
		int count = 0;
		for (int i = 0; i < uid.length; i++) {
			if (uname[i].equals(name)&&upassword[i].equals(pwd)) {
				nowId = i;
				System.out.println("登录成功");
				denglushow();
				return;
			}
		}
		for(int j=0;j<3;j++) {
			count ++;
		System.out.println("输入错误请重新输入");
		dengluerr();
		if (count >3) {
			System.out.println("连续3次输入错误");
			System.exit(0);
		}
		}
	}
	
	private static void dengluerr() {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入用户名");
    	String name = scanner.next();
    	System.out.println("请输入密码");
    	String password = scanner.next();
		denglu(name, password);
	}
	
	private static void denglushow() {
		Scanner scanner = new Scanner(System.in);
		System.out.println("1:修改个人信息");
		System.out.println("2:修改密码");
		System.out.println("0:返回上一级");
		int a = scanner.nextInt();
		switch (a) {
		case 1:
			System.out.println("请输入修改后的用户名:");
			String name = scanner.next();
			System.out.println("请输入修改后的email:");
			String email = scanner.next();
			updateInfo(name, email);
			denglushow();
			break;
		case 2:
			System.out.println("请输入原密码:");
			String oldPwd = scanner.next();
			System.out.println("请输入修改后的密码:");
			String newPwd = scanner.next();
			updatePwd(oldPwd, newPwd);
			System.out.println("修改成功");
			denglushow();
			break;
		case 0:
			menu();
			break;
	}
	}
	
	private static void updateInfo(String name,String email) {
		uname[nowId] = name;
		uemail[nowId] = email;
		showinfo();
	}
	
	private static void updatePwd(String oldPwd,String newPwd) {
		if (upassword[nowId].equals(oldPwd)) {
			upassword[nowId] = newPwd;
			showinfo();
		}
		else {
			System.out.println("旧密码输入错误!");
			denglushow();
		}
	}

我拿这个出来的意思是分享一下菜单实现的两种方法,第一种方法是使用无限死循环的while(true)来实现,另一种是将各个菜单分成不同的方法,在方法之间来回跳转来达到调用的目的。
完整代码已经上传到CSDN了下面附链接:链接

JAVA个人信息管理系统设计与实现源代码 基于B/S设计 在日常办公中有许多常用的个人数据,如朋友电话、邮件地址、日程安排、日常记事、文件上传和下载,这些都可以用一个个人信息管理系统进行管理。个人信息管理系统可以内置于手掌上的数字处理器,以提供电子名片、便条、行程管理等功能。本项目基于B/S设计,也可以发布到网上,用户可以随时存取个人信息。 用户可以在系统中任意添加、修改、删除个人数据,包括个人的基本信息、个人通讯录、日程安排、个人文件管理。 要实现功能包括四个方面: (1)登录与注册 系统的登录和注册功能。 (2)个人基本信息管理模块 系统中对个人基本信息的管理包括:个人的姓名、性别、出生日期、民族、学历、职称、登录名、密码、电话、家庭住址等。 (2)用户个人通讯录模块 系统的个人通讯录是保存了个人的通讯录信息,包括自己联系人的姓名、电话、邮箱、工作单位、地址、QQ等。可以自由添加联系人的信息,查询或删除联系人。 (3)日程安排模块 日程模块记录自己的活动安排或者其它有关事项,如添加从某一时间到另一时间要做什么事,日程标题、内容、开始时间、结束时间。可以自由查询,修改,删除。 (4)个人文件管理模块 该模块实现用户在网上存储临时文件的功能。用户可以新建文件夹,修改、删除、移动文件夹;上传文件、修改文件名、下载文件、删除文件、移动文件等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值