忆当年之Java流程控制

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
退出系统...

 

posted @ 2020-03-13 21:44  尘世间迷茫的小书童  阅读(141)  评论(0编辑  收藏  举报