控制台实现一个小注册系统

系统类

package work;

import java.util.Scanner;

import javax.jws.soap.SOAPBinding.Use;
import javax.lang.model.element.Element;

import day05.sanjiao;

public class RegisterSys {
	private User[] users=new User[1];
	private User CurrentUser;
	private int Max=11;	//最大用户数 下标0为管理员账号
	
	public RegisterSys() {
		users[0]=new User("admin", "123");
		users[0].setDegree(level.admin);
	}

	public User[] getUsers() {
		return users;
	}

	public void setUsers(User[] users) {
		this.users = users;
	}

	public User getCurrentUser() {
		return CurrentUser;
	}

	public void setCurrentUser(User currentUser) {
		CurrentUser = currentUser;
	}

	public int getMax() {
		return Max;
	}

	public void setMax(int max) {
		Max = max;
	}

	//添加用户数组
	public boolean pushUser(User user){
		if(users.length==Max){
			System.out.println("已经达到最大用户数!");
			return false;	//已经达到最大用户数
		}else{
			User[] new_users=new User[users.length+1];
			System.arraycopy(users, 0, new_users, 0, users.length);
			new_users[users.length]=user;
			users=new_users;
			return true;
		}
	}
	
	//控制台清屏
	private static void clearConsole()
	{
	    try
	    {
	        String os = System.getProperty("os.name");

	        if (os.contains("Windows"))
	        {
	            Runtime.getRuntime().exec("cls");
	        }
	        else
	        {
	            Runtime.getRuntime().exec("clear");
	        }
	    }
	    catch (Exception exception)
	    {
	        //  Handle exception.
	    }
	}
	
	
	//删除指定用户
	public boolean deleteUser(String name){
		if(users.length==1) {
			System.out.println("普通用户数为0,删除失败!");
			return false;
		}
			
		int index;
		for(int i=0;i<users.length;i++)
		{
			if(users[i].getName().equals(name)){
				index=i;
				if(index==0)
				{
					System.out.println("管理员不能删除,删除失败!");
					return false;
				}
				User[] new_users=new User[users.length-1];
				System.arraycopy(users, 0, new_users, 0, i);
				System.arraycopy(users, i+1, new_users, i, users.length-1-i);
				users=new_users;
				System.out.println("删除成功!");
				return true;
			}
		}
		System.out.println("没有该用户,删除失败!");
		return false;
	}
	
	//修改用户密码
	public boolean changePassWord(String name,String password){
	 	 if(!inspect(name)){	//有改账户
	 		 selectUser(name).setPassword(password);
	 		 return true;
	 	 }else {
			return false;
		}
	}
	
	//显示所有用户
	public void showUser(){
		for(User user:users){
			System.out.println(user.getName());
		}
	}
	
	//检查注册用户是否重复
	public boolean inspect(String name){
		for(User user : users){
			if(user.getName().equals(name))
			{
				return false;	//有改帐户名
			}
		}
		return true;	//没有该账户
	}
	
	//查找用户
	public User selectUser(String name){
		for(User user : users){
			if(user.getName().equals(name))
			{
				return user;	//有相等的帐户名
			}
		}
		return null;
	}
	
	//开始界面
	public void Begin(){
		if(CurrentUser!=null){
			return;
		}
		//登入注册 dlzc
		System.out.println("1、登入");
		System.out.println("2、注册");
		System.out.print("请选择:");
		Scanner scanner=new Scanner(System.in);
		int dlzc=scanner.nextInt();
		if(dlzc==1)
		{
			Login();
		}else if (dlzc==2) {
			Register();
		}
	}
	
	//用户注册
	public void Register(){
		Scanner scanner=new Scanner(System.in);
		while(true){
			System.out.print("请输入用户名:");
			String userName=scanner.next();
			boolean isCf=inspect(userName);
			if(!isCf){
				System.out.println("已经有该账户名!");
				System.out.println("1、重新输入");
				System.out.println("2、返回上一层");
				System.out.print("请输入:");
				int xz=scanner.nextInt();
				if(xz==1){
					continue;
				}else{
					break;
				}
			}else {
				System.out.print("请输入密码:");
				String password=scanner.next();
				User user=new User(userName, password);
				pushUser(user);
				System.out.println("恭喜你注册成功!");
				CurrentUser=user;
				return ;
			}
		}
		clearConsole();
		Begin();
	}
	
	//用户登入
	public void Login(){
		Scanner scanner=new Scanner(System.in);
		while(true){
			System.out.print("请输入用户名:");
			String userName=scanner.next();
			boolean isCf=inspect(userName);
			if(isCf){
				System.out.println("没有该账户!");
				System.out.println("1、重新输入");
				System.out.println("2、返回上一层");
				System.out.print("请输入:");
				int xz=scanner.nextInt();
				if(xz==1){
					continue;
				}else{
					break;
				}
			}else {
				System.out.print("请输入密码:");
				String password=scanner.next();
				for(User user:users){
					if(user.getName().equals(userName)&&user.getPassword().equals(password)){
						System.out.println("恭喜你登入成功!");
						CurrentUser=user;
						return;
					}
				}
				System.out.println("密码错误!");
				continue;
			}
		}
		clearConsole();
		Begin();
	}
	
	//账号登入后 账户功能分配
	public void FunctionClassify(){
		System.out.println("欢迎登入!"+CurrentUser.getName());
		System.out.println("功能:");
		if(CurrentUser.getDegree()==level.admin){
			FunctionAdmin();
		}else {
			FunctionUser();
		}
	}
	
	//管理员功能函数
	public void FunctionAdmin(){
		Scanner scanner=new Scanner(System.in);
		int xz;
		System.out.println("1、显示所有会员信息");
		System.out.println("2、删除普通用户");
		System.out.println("3、退出");
		System.out.print("请选择:");
		xz=scanner.nextInt();
		if(xz==3){
			CurrentUser=null;
			Begin();
		}else if(xz==1){
			showUser();
			FunctionAdmin();
		}else if(xz==2){
			System.out.print("请输入要删除的普通用户名:");
			String user=scanner.next();
			deleteUser(user);
			FunctionAdmin();
		}
	}
	
	//普通用户功能
	public void FunctionUser(){
		Scanner scanner=new Scanner(System.in);
		int xz;
		System.out.println("1、修改用户名");
		System.out.println("2、修改密码");
		System.out.println("3、退出");
		System.out.print("请选择:");
		xz=scanner.nextInt();
		if(xz==3){
			CurrentUser=null;
			Begin();
		}else if(xz==1){
			System.out.print("请输入新用户名:");
			String newName=scanner.next();
			boolean isWin=CurrentUser.setName(newName);
			if(isWin){
				System.out.println("修改用户名成功!");
				FunctionClassify();
			}else {
				FunctionClassify();
			}
		}else if (xz==2) {
			System.out.print("请输入新密码:");
			String newPassword=scanner.next();
			boolean isWin=CurrentUser.setPassword(newPassword);
			if(isWin){
				System.out.println("修改密码成功!");
				FunctionClassify();
			}else {
				FunctionClassify();
			}
		}
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		RegisterSys rs=new RegisterSys();
		while(true){
			rs.Begin();
			rs.FunctionClassify();
		}
	}
	
}

用户类

package work;

public class User {
	private String name;
	private String password;
	private level degree;	//权限
	public level getDegree() {
		return degree;
	}
	public void setDegree(level degree) {
		this.degree = degree;
	}
	public User(String name, String password) {
		super();
		this.name = name;
		this.password = password;
		this.degree=level.user;
	}
	public String getName() {
		return name;
	}
	public boolean setName(String name) {
		if("".equals(name)&&name.equals(null))
		{
			System.out.print("新用户名不能为空!");
			return false;
		}else {
			this.name = name;
			return true;
		}
	}
	public String getPassword() {
		return password;
	}
	public boolean setPassword(String password) {
		if("".equals(password)&&password.equals(null))
		{
			System.out.print("新密码不能为空!");
			return false;
		}else {
			this.password = password;
			return true;
		}	
	}
	
	public void showInfo() {
		System.out.println("name"+name);
	}
}

权限枚举

package work;

public enum level {
	admin,user;
}

posted @ 2018-05-16 19:15  HarrietWong  阅读(118)  评论(0编辑  收藏  举报