JavaSE模拟用户模块源代码

具体的步骤,和分析在上一篇博客里,有兴趣的小伙伴,可以去了解一下,传送门

废话不多说,上代码地址

import java.util.Scanner;

public class UserModule {
	//成员变量的定义,在成员变量里声明scanner,哪个方法都可以使用
	static Scanner scanner;
	//声明用户,密码,模拟数据库的存储
	static String userNames[] = new String[666];
	static String passwords[] = new String[666];
	//下标,通过下标来实现账号密码的一一对应	
	static int number = 0;
	//mian方法
	public static void main(String[] args) {
		scanner = new Scanner(System.in);
		//死循环
		while(true) {
			System.out.println("**************************************************");
			System.out.println("客官,里面请");
			select_1();
		}
	}
	//这里是初始界面
	public static void select_1() {
		System.out.println("**************************************************");
		System.out.println("可选择的操作有:\n1.注册\n2.登录\n3.修改密码\n4.退出");
		System.out.print("请选择您的操作:");
		String tag = scanner.next();
		switch (tag) {
		case "1":
			System.out.println("**************************************************");
			System.out.println("这里是注册");
			boolean isRegist = regist();
			// 如果isRegist为真(注册成功),!isRegist为假,所以不执行
			// 如果isRegist为假(注册失败),!isRegist为真,所以执行
			if(!isRegist) {
				registNext();
			}
			break;
		case "2":
			System.out.println("**************************************************");
			System.out.println("这里是登录");
			boolean isLogin = login();
			// 如果isLogin为真(登录成功),跳转登录后的界面
			if(isLogin) {
				select_2();
			//否则(登陆失败),询问是否继续登录
			}else {
				loginNext();
			}
			break;
		case "3":
			System.out.println("**************************************************");
			System.out.println("这里是修改密码");
			boolean isChangePassword = changePassword();
			// 如果isChangePassword为真(修改成功),!isChangePassword为假,所以不执行
			// 如果isChangePassword为假(修改失败),!isChangePassword为真,所以执行
			if(!isChangePassword) {
				changePasswordNext();
			}
			break;
		case "4":
			System.out.println("欢迎下次光临");
			System.out.println("**************************************************");
			//退出程序(强制中断程序)
			System.exit(0);
		default:
			System.out.print("输入错误,请重新输入:");
			//递归
			select_1();
			break;
		}
	}
	//这里是登录后的用户界面
	public static void select_2() {
		System.out.println("欢迎来到计算器");
		System.out.println("可选择的操作有:\n1.加法\n2.减法\n3.乘法\n4.除法\n5.退出");
		String tag = scanner.next();
		switch (tag) {
		case "1":
			System.out.println("**************************************************");
			System.out.println("这里是加法");
			add();
			select_2();
			break;
		case "2":
			System.out.println("**************************************************");
			System.out.println("这里是减法");
			sub();
			select_2();
			break;
		case "3":
			System.out.println("**************************************************");
			System.out.println("这里是乘法");
			mul();
			select_2();
			break;
		case "4":
			System.out.println("**************************************************");
			System.out.println("这里是除法");
			div();
			select_2();
			break;
		case "5":
			System.out.println("退出");
			select_1();
			break;

		default:
			System.out.println("输入错误,请重新输入");
			select_2();
			break;
		}
	}
	//这里是修改密码
	public static boolean changePassword() {
		System.out.print("请输入账号:");
		String userName = scanner.next();
		System.out.print("请输入旧密码:");
		String password = scanner.next();
		//声明一个下标
		int i;
		for(i=0;i<number;i++) {
			//如果匹配上了,那么i就是我们需要找到的那个下标
			if(userName.equals(userNames[i])) {
				break;
			}else {
				System.out.println("修改密码失败");
				System.out.println("账号不存在");
				return false;
			}
		}
		//因为userNames[i]和userName匹配上了
		//所以passwords[i]也要和password匹配
		if(password.equals(passwords[i])) {
			System.out.print("请输入新密码:");
			String password_1 = scanner.next();
			System.out.print("请确认新密码:");
			String password_2 = scanner.next();
			if(password_1.equals(password_2)) {
				//把新密码,赋给password[i]
				passwords[i] = password_1;
				System.out.println("修改密码成功");
				return true;
			}else {
				System.out.println("修改密码失败");
				System.out.println("两次密码不一致");
				return false;
			}
		}else {
			System.out.println("修改密码失败");
			System.out.println("账号密码不匹配");
			return false;
		}
		

	}
	//这里是   是否重复修改密码
		public static void changePasswordNext() {
			System.out.print("是否重新修改密码(y/n):");
			String tag = scanner.next();
			if(tag.equals("Y")||tag.equals("y")) {
				boolean isChangePassword = changePassword();
				//再进行一次判断,递归调用自己
				if(!isChangePassword) {
					changePasswordNext();
				}
			}else if(tag.equals("N")||tag.equals("n")){
				
			}else {
				System.out.println("输入错误,请重新输入");
				changePasswordNext();
			}
		}
	//这里是登录
	public static boolean login() {
		System.out.print("请输入账号:");
		String userName = scanner.next();
		System.out.print("请输入密码:");
		String password = scanner.next();
		//遍历成员变量(账号,密码),进行判断
		for(int i=0;i<number;i++) {
			if(userNames[i].equals(userName)&&passwords[i].equals(password)) {
				System.out.println("登陆成功!");
				return true;
			}
		}
			System.out.println("登陆失败!");
			System.out.println("账号密码不匹配");
			return false;

	}
	//这里是   是否重复登录
		public static void loginNext() {
			System.out.print("是否重新登录(y/n):");
			String tag = scanner.next();
			if(tag.equals("Y")||tag.equals("y")) {
				boolean isLogin = login();
				//再进行一次判
				//且,这里判断的结果不同,之后的处理也不同
				if(isLogin) {
					select_2();
				}else {
					loginNext();
				}
			}else if(tag.equals("N")||tag.equals("n")){
				
			}else {
				System.out.println("输入错误,请重新输入");
				loginNext();
			}
		}
	//这里是注册
	public static boolean regist() {
		System.out.print("请输入账号:");
		String userName = scanner.next();
		System.out.print("请输入密码:");
		String password_1 = scanner.next();
		System.out.print("请确认密码:");
		String password_2 = scanner.next();
		for(int i=0;i<number;i++) {
			if(userName.equals(userNames[i])) {
				System.out.println("注册失败");
				System.out.println("账号已存在");
				return false;
			}
		}
		if(password_1.equals(password_2)) {
			//为成员变量赋值,存储账号密码
			userNames[number]=userName;
			passwords[number]=password_1;
			//下标发生改变,number也可以看作数组的长度
			number++;
			System.out.println("注册成功!");
			return true;
		}else {
			System.out.println("注册失败");
			System.out.println("两次密码不一致");
			return false;
		}
	}
	//这里是   是否重复注册
	public static void registNext() {
		System.out.print("是否重新注册(y/n):");
		String tag = scanner.next();
		if(tag.equals("Y")||tag.equals("y")) {
			boolean isRegist = regist();
			//再进行一次判断,递归调用自己
			//没有这个判断的话,大家可以想一下会发生什么
			if(!isRegist) {
				registNext();
			}
		}else if(tag.equals("N")||tag.equals("n")){
			
		}else {
			System.out.println("输入错误,请重新输入");
			registNext();
		}
	}
	public static void add() {
		System.out.print("请输入被加数:");
		int a = scanner.nextInt();
		System.out.print("请输入加数:");
		int b = scanner.nextInt();
		System.out.println(a+"+"+b+"="+(a+b));
	}
	public static void sub() {
		System.out.print("请输入被减数:");
		int a = scanner.nextInt();
		System.out.print("请输入减数:");
		int b = scanner.nextInt();
		System.out.println(a+"-"+b+"="+(a-b));
	}
	public static void mul() {
		System.out.print("请输入被乘数:");
		int a = scanner.nextInt();
		System.out.print("请输入乘数:");
		int b = scanner.nextInt();
		System.out.println(a+"*"+b+"="+(a*b));
	}
	public static void div() {
		System.out.print("请输入被除数:");
		int a = scanner.nextInt();
		System.out.print("请输入除数:");
		int b = scanner.nextInt();
		System.out.println(a+"/"+b+"="+(a/b));
	}
}
在日常办公中有许多常用的个人数据,如朋友电话、邮件地址、日程安排、日常记事、文件上传和下载,这些都可以用一个个人信息管理系统进行管理。个人信息管理系统可以内置于手掌上的数字处理器,以提供电子名片、便条、行程管理等功能。本项目基于B/S设计,也可以发布到网上,用户可以随时存取个人信息。 用户可以在系统中任意添加、修改、删除个人数据,包括个人的基本信息、个人通讯录、日程安排、个人文件管理。 要实现的功能包括四个方面: (1)登录与注册 系统的登录和注册功能。 (2)个人基本信息管理模块 系统中对个人基本信息的管理包括:个人的姓名、性别、出生日期、民族、学历、职称、登录名、密码、电话、家庭住址等。 (2)用户个人通讯录模块 系统的个人通讯录是保存了个人的通讯录信息,包括自己联系人的姓名、电话、邮箱、工作单位、地址、QQ等。可以自由添加联系人的信息,查询或删除联系人。 (3)日程安排模块 日程模块记录自己的活动安排或者其它有关事项,如添加从某一时间到另一时间要做什么事,日程标题、内容、开始时间、结束时间。可以自由查询,修改,删除。 (4)个人文件管理模块模块实现用户在网上存储临时文件的功能。用户可以新建文件夹,修改、删除、移动文件夹;上传文件、修改文件名、下载文件、删除文件、移动文件等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值