系统类
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;
}