zoukankan      html  css  js  c++  java
  • 忆当年之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() + "
    内容:" + 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
    退出系统...
  • 相关阅读:
    phxpaxos状态机的管理
    redis基础
    phxpaxos的checkpoint从哪个server同步
    结合phxpaxos简单看下paxos
    levelDB实现相关概念及基础
    在变参模版出现之前,functional如何实现bind功能
    IntelliJ IDEA自动部署项目至远程服务器与传统部署项目至远程服务器的区别
    Python实现王者荣耀小助手(二)
    Python实现王者荣耀小助手(一)
    高性能网络通信框架 HP-Socket
  • 原文地址:https://www.cnblogs.com/mxh-java/p/12489259.html
Copyright © 2011-2022 走看看