- import java.time.LocalDateTime;
- import java.time.format.DateTimeFormatter;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- import java.util.Scanner;
- /**
- * 用到技术:
- * 流程控制语句
- * 集合
- * 静态方法
- *
- * @author 666 先生的救赎
- *
- */
- public class HelloWorld {
- // 日记集合
- static Map<String, Diary> diarys = new HashMap<>();
- // 用户信息
- static Map<String, String> users = new HashMap<>();
- // 所有用户的日记信息
- static Map<String, Map<String, Diary>> allDiary = new HashMap<>();
- public static void main(String[] args) {
- boolean isClose = true;
- Scanner scanner = new Scanner(System.in);
- init();
- do {
- System.out.println("欢迎进入日记系统...");
- System.out.println("请输入账户:");
- String username = scanner.next();
- while(!users.containsKey(username)) {
- System.out.println("账号" + username + "不存在! 请重新输入!");
- username = scanner.next();
- }
- System.out.println("请输入密码:");
- String password = scanner.next();
- String userPassword = users.get(username);
- while(!userPassword.equals(password)) {
- System.out.println("账号" + username + "密码不正确!");
- System.out.println("请重新输入密码:");
- password = scanner.next();
- }
- diarys = allDiary.get(username);
- while(isClose) {
- System.out.println("请选择功能:");
- System.out.println("1. 记录日记");
- System.out.println("2. 查看日记");
- System.out.println("3. 退出系统");
- String flag = scanner.next();
- if(flag.equals("1")) {
- Diary diary = new Diary();
- System.out.println("请输入标题:");
- String title = scanner.next();
- while(isContain(diarys, title)) {
- System.out.println("请重新输入标题:");
- title = scanner.next();
- }
- diary.setTitle(title);
- System.out.println("请输入类型:");
- String type = scanner.next();
- diary.setType(type);
- System.out.println("请输入内容:");
- String content = scanner.next();
- diary.setContent(content);
- diary.setAuther(username);
- diary.setDateTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYY 年 MM 月 dd 日 HH 时 mm 分 ss 秒")));
- diarys.put(title, diary);
- allDiary.put(username, diarys);
- System.out.println("保存成功!");
- } else if(flag.equals("2")) {
- Iterator<Map.Entry<String, Diary>> iterator = diarys.entrySet().iterator();
- while(iterator.hasNext()) {
- Map.Entry<String, Diary> next = iterator.next();
- System.out.println("标题:" + next.getKey() + "\n 内容:" + next.getValue());
- }
- } else if(flag.equals("3")) {
- scanner.close();
- isClose = false;
- System.out.println("退出系统...");
- } else {
- System.out.println("请按要求输入!!!");
- }
- }
- }while(isClose);
- }
- /**
- * 标题是否已存在
- * @param map
- * @param title
- * @return
- */
- private static boolean isContain(Map<String, Diary> map, String title) {
- boolean contain = map.containsKey(title);
- if(contain) {
- System.out.println("标题已存在!!!");
- }
- return contain;
- }
- /**
- * 初始化一些数据
- */
- private static void init() {
- // 初始化用户信息
- users.put("maxinhai", "970529");
- users.put("admin", "admin");
- users.put("666 先生的救赎", "970529");
- // 初始化用户日记数据
- Map<String, Diary> user1 = new HashMap<>();
- user1.put("测试", new Diary("测试", "测试", "测试内容", LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYY 年 MM 月 dd 日 HH 时 mm 分 ss 秒")), "maxinhai"));
- user1.put("测试 1", new Diary("测试 1", "测试 1", "测试内容 1", LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYY 年 MM 月 dd 日 HH 时 mm 分 ss 秒")), "maxinhai"));
- user1.put("测试 2", new Diary("测试 2", "测试 2", "测试内容 2", LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYY 年 MM 月 dd 日 HH 时 mm 分 ss 秒")), "maxinhai"));
- Map<String, Diary> user2 = new HashMap<>();
- user2.put("测试", new Diary("测试", "测试", "测试内容", LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYY 年 MM 月 dd 日 HH 时 mm 分 ss 秒")), "admin"));
- user2.put("测试 1", new Diary("测试 1", "测试 1", "测试内容 1", LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYY 年 MM 月 dd 日 HH 时 mm 分 ss 秒")), "admin"));
- user2.put("测试 2", new Diary("测试 2", "测试 2", "测试内容 2", LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYY 年 MM 月 dd 日 HH 时 mm 分 ss 秒")), "admin"));
- Map<String, Diary> user3 = new HashMap<>();
- user3.put("测试", new Diary("测试", "测试", "测试内容", LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYY 年 MM 月 dd 日 HH 时 mm 分 ss 秒")), "666 先生的救赎"));
- user3.put("测试 1", new Diary("测试 1", "测试 1", "测试内容 1", LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYY 年 MM 月 dd 日 HH 时 mm 分 ss 秒")), "666 先生的救赎"));
- user3.put("测试 2", new Diary("测试 2", "测试 2", "测试内容 2", LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYY 年 MM 月 dd 日 HH 时 mm 分 ss 秒")), "666 先生的救赎"));
- allDiary.put("maxinhai", user1);
- allDiary.put("admin", user2);
- allDiary.put("666 先生的救赎", user3);
- }
- }
- public class Diary {
- private String title;
- private String type;
- private String content;
- private String dateTime;
- private String auther;
- public String getTitle() {
- return title;
- }
- public void setTitle(String title) {
- this.title = title;
- }
- public String getType() {
- return type;
- }
- public void setType(String type) {
- this.type = type;
- }
- public String getContent() {
- return content;
- }
- public void setContent(String content) {
- this.content = content;
- }
- public String getDateTime() {
- return dateTime;
- }
- public void setDateTime(String dateTime) {
- this.dateTime = dateTime;
- }
- public String getAuther() {
- return auther;
- }
- public void setAuther(String auther) {
- this.auther = auther;
- }
- @Override
- public String toString() {
- return "标题:" + title +
- "日记类型:" + type +
- "日记内容:" + content +
- "记录时间:" + dateTime +
- "记录者:" + auther;
- }
- public Diary(String title, String type, String content, String dateTime, String auther) {
- super();
- this.title = title;
- this.type = type;
- this.content = content;
- this.dateTime = dateTime;
- this.auther = auther;
- }
- public Diary() {}
- }
程序效果:
欢迎进入日记系统...
请输入账户:
admi
账号 admi 不存在! 请重新输入!
admin
请输入密码:
admin
请选择功能:
1. 记录日记
2. 查看日记
3. 退出系统
1
请输入标题:
每日一记
请输入类型:
日记
请输入内容:
今天没出门在上班
保存成功!
请选择功能:
1. 记录日记
2. 查看日记
3. 退出系统
2
标题: 测试 2
内容: 标题: 测试 2 日记类型: 测试 2 日记内容: 测试内容 2 记录时间: 2020 年 03 月 13 日 21 时 41 分 25 秒 记录者: admin
标题: 测试
内容: 标题: 测试 日记类型: 测试 日记内容: 测试内容 记录时间: 2020 年 03 月 13 日 21 时 41 分 25 秒 记录者: admin
标题: 测试 1
内容: 标题: 测试 1 日记类型: 测试 1 日记内容: 测试内容 1 记录时间: 2020 年 03 月 13 日 21 时 41 分 25 秒 记录者: admin
标题: 每日一记
内容: 标题: 每日一记 日记类型: 日记 日记内容: 今天没出门在上班 记录时间: 2020 年 03 月 13 日 21 时 42 分 12 秒 记录者: admin
请选择功能:
1. 记录日记
2. 查看日记
3. 退出系统
4
请按要求输入!!!
请选择功能:
1. 记录日记
2. 查看日记
3. 退出系统
3
退出系统...
来源: http://www.bubuko.com/infodetail-3460163.html