简易日志管理系统
0.注册(需要验证用户名的可用性)
1.登录
2.写日志(标题,内容,时间)
3.查看日志信息
4.修改日志信息
5.修改日志的部分属性
import java.text.SimpleDateFormat;
import java.util.Date;//(标题,内容,时间)
public class LogInfo {private String title;private String content;private Date createTime;public LogInfo() {// TODO Auto-generated constructor stub}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getContent() {return content;}public void setContent(String content) {this.content = content;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}@Overridepublic String toString() {SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");return title + ":" + content + " {" + sdf.format(createTime) + "}";}}//用户类
`public class User {private String nickName;private String password;public User() {super();}public String getNickName() {return nickName;}public void setNickName(String nickName) {this.nickName = nickName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
//操作类
public class LogSystem {private Scanner scanner;// 保存已经注册了的用户信息private User[] users;// 当前用户数组的下标private int index;//定义一个空间保存用户添加的日志private LogInfo[] logInfos;private int logIndex;/** 初始化属性*/public LogSystem() {// TODO Auto-generated constructor stub// 初始化输入流this.scanner = new Scanner(System.in);this.users = new User[10];this.logInfos = new LogInfo[100];// 启动项目this.startLogSystem();}// 启动项目public void startLogSystem() {// 1.登录注册的选择菜单int select = menuOne();// 根据用户的菜单选项执行相应的代码switch (select) {case 1:login();startLogSystem();break;case 2:reg();startLogSystem();break;case 3:break;}}// 登录选择菜单private int menuOne() {System.out.println("1.登录");System.out.println("2.注册");System.out.println("3.退出");System.out.print(">");int r = scanner.nextInt();// 取出缓存中多余的 /nscanner.nextLine();if (r < 0 || r > 3) {System.out.println("您输入的选项有误,请重新输入!");// 外层递归需要接受内层递归的返回值r = menuOne();}return r;}// 登录选择菜单private void logMenu() {System.out.println("1.写日志");System.out.println("2.查看日志信息");System.out.println("3.修改日志信息");System.out.println("4.修改日志的部分属性");System.out.println("5.退出");System.out.print(">");int r = scanner.nextInt();// 取出缓存中多余的 /nscanner.nextLine();if (r < 0 || r > 5) {System.out.println("您输入的选项有误,请重新输入!");// 外层递归需要接受内层递归的返回值r = menuOne();}switch (r) {case 1: //1.写日志addLogInfo();logMenu();break;case 2: //2.查看日志信息showLogInfoByTitle();logMenu();break;case 3: //修改日志信息updateLogInfo();logMenu();break;case 4:try {updateLogInfoAll();} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}logMenu();break;case 5: //强制结束当前程序!System.exit(0);}}//选择性修改内容和创建时间private void updateLogInfoAll() throws ParseException {//1.需要修改的日志标题System.out.print("请输入标题:");String title = scanner.nextLine();//2.查找日志,打原日志int i = getLogInfoByTitle(title);LogInfo logInfo = i >= 0 ? logInfos[i] : null;if(logInfo == null) {System.out.println("没有找到标题为 " + title + "的日志。");return;}System.out.println(logInfo);//3.输入修改后的日志内容System.out.print("请输入新的内容:");String content = scanner.nextLine();System.out.println("content:" + content);if(content != null && !"".equals(content)) {logInfo.setContent(content);}//4.输入修改后的日志创建时间System.out.print("请输入新的时间:");String createTime = scanner.nextLine();System.out.println("createTime:" + createTime);//2019/12/10 19:42:46 转 Dateif(createTime != null && !"".equals(createTime)) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");logInfo.setCreateTime(sdf.parse(createTime));}//5.把修改后的内容持久化保存logInfos[i] = logInfo;System.out.println("修改成功!");}//修改日志信息private void updateLogInfo() {//1.需要修改的日志标题System.out.print("请输入标题:");String title = scanner.nextLine();//2.查找日志,打原日志int i = getLogInfoByTitle(title);LogInfo logInfo = i >= 0 ? logInfos[i] : null;if(logInfo == null) {System.out.println("没有找到标题为 " + title + "的日志。");return;}System.out.println(logInfo);//3.输入修改后的日志内容System.out.print("请输入新的内容:");logInfo.setContent(scanner.nextLine());//4.进行修改logInfos[i] = logInfo;System.out.println("修改成功!");}//添加日志private void addLogInfo() {LogInfo logInfo = new LogInfo();//1.添加日志标题System.out.print("请输入标题:");logInfo.setTitle(scanner.nextLine());//2.添加日志内容System.out.print("请输入内容:");logInfo.setContent(scanner.nextLine());//3.添加日志创建时间logInfo.setCreateTime(new Date());//把用户添加的日志加入全局属性,进行长久保存this.logInfos[logIndex++] = logInfo;System.out.println("日志添加成功!");}//更具标题搜索日志public void showLogInfoByTitle() {//1.用混输入查询日志标题System.out.print("请输入您要查询的日志标题:");String title = scanner.nextLine();//2.在日志信息中查找对应的日志信息int i = getLogInfoByTitle(title);LogInfo logInfo = i >= 0 ? logInfos[i] : null;//3.显示查找到的日志信息if(logInfo == null) {System.out.println("没有标题为 " + title + " 的日志!");}else {//输出语句打印 对象 时会默认调当前对象的toString()方法System.out.println(logInfo);}}//更具标题查找系统中的日志private int getLogInfoByTitle(String title) {for (int i = 0; i < logInfos.length; i++) {if(logInfos[i] == null) {break;}if(logInfos[i].getTitle().equals(title)) {return i;}}return -1;}// 注册private void reg() {User user = new User();System.out.print("请输入注册的昵称:");
// String nickName = scanner.nextLine();user.setNickName(scanner.nextLine());System.out.print("请输入密码:");String pwd = scanner.nextLine();System.out.print("请确认密码:");String rePwd = scanner.nextLine();if (pwd.equals(rePwd)) {user.setPassword(pwd);this.users[index++] = user;System.out.println("注册成功!");} else {System.out.println("两次密码不相同,注册失败!");}}private void login() {System.out.print("请输入您的昵称:");String nickName = scanner.nextLine();// 接收从数据中查询的用户User user = null;for (int i = 0; i < users.length; i++) {if (this.users[i] == null) {break;}if (nickName.equals(this.users[i].getNickName())) {user = this.users[i];}}if (user == null) {System.out.println("用户名不存在!");return;}// 用户名输入成功!System.out.print("请输入您的密码:");String password = scanner.nextLine();if (password.equals(user.getPassword())) {// 跳转日志菜单(主页)logMenu();} else {System.out.println("你输入的密码有误!请检查后再试!");}}
}
//验证类
public class Test {public static void main(String[] args) {// TODO Auto-generated method stub//启动系统new LogSystem();}}
本文链接:https://my.lmcjl.com/post/9274.html
展开阅读全文
4 评论