Java液晶数字字体显示当前时间[通俗易懂]

Java液晶数字字体显示当前时间[通俗易懂]Java液晶数字字体显示当前时间importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.HashMap;importjava.util.List;importjava.util.Map;/****@authorzdy…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

Java液晶数字字体显示当前时间

在这里插入图片描述
在这里插入图片描述

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 
 * @author zdy 
 * @version 2019年3月11日16:03:12
 */
public class PrintDate {
  private final static String[][] parr = {
            {" ","-","-"," "," ","-","-"," "," "," ","-","-"," "," ","-","-"," "},
            {"|"," "," ","|","|"," "," ","|",".","|"," "," ","|","|"," "," ","|"},
            {" ","-","-"," "," ","-","-"," "," "," ","-","-"," "," ","-","-"," "},
            {"|"," "," ","|","|"," "," ","|",".","|"," "," ","|","|"," "," ","|"},
            {" ","-","-"," "," ","-","-"," "," "," ","-","-"," "," ","-","-"," "}};
    
    public static void main(String[] args) throws InterruptedException {
        Thread t = new Thread(new Runnable() {
            
            @Override
            public void run() {
                while(true) {
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    print(parr);
                }
            }
        });
        t.start();
        t.join(0);
    }
    
    private static void print(String[][] arr) {
        Map<Integer,List<Integer>> m =  getDateArr();
        for (int i = 0; i < arr.length; i++) {
            List<Integer> indexs = m.get(i);
            for (int l = 0; l < arr[i].length; l++) {
                boolean flag = false;
                for (Integer index : indexs) {
                    if(index == l) {
                        flag = true;
                        break;
                    }
                }
                try {
                    Thread.sleep(1);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                if(!flag) {
                    System.out.print(arr[i][l]);
                } else {
                    System.err.print(arr[i][l]);
                }
            }
            System.out.println();
        }
    }
    
    private static Map<Integer,List<Integer>> getDateArr(){
        Map<Integer,List<Integer>> m = new HashMap<>();
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
        String currentTime = sdf.format(new Date());
        System.out.println(currentTime);
        String[] time = currentTime.split(":");
        String[] hour = time[0].split("");
        for (int i = 0; i < hour.length; i++) {
            Map<Integer, List<Integer>> tmp = getDateArrD(Integer.valueOf(hour[i]), i,0);
            if(!tmp.isEmpty()) {
                tmp.keySet().forEach(key -> {
                    List<Integer> list = m.get(key);
                    if(list ==null || list.size() <= 0) {
                        m.put(key, tmp.get(key));
                    } else {
                        list.addAll(tmp.get(key));
                        m.put(key, list);
                    }
                });
            }
        }
        String[] minute = time[1].split("");
        for (int i = 0; i < minute.length; i++) {
            Map<Integer, List<Integer>> tmp = getDateArrD(Integer.valueOf(minute[i]), i+2,1);
            if(!tmp.isEmpty()) {
                tmp.keySet().forEach(key -> {
                    List<Integer> list = m.get(key);
                    if(list ==null || list.size() <= 0) {
                        m.put(key, tmp.get(key));
                    } else {
                        list.addAll(tmp.get(key));
                        m.put(key, list);
                    }
                });
            }
        }
        return m;
    }
    
    private static Map<Integer,List<Integer>> getDateArrD(int num,int index,int n){
        Map<Integer,List<Integer>> m = new HashMap<>();
        List<Integer> n1 = null;
        switch(num) {
            default:
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(0, n1);
                
                n1 = new ArrayList<>();
                n1.add(0+index*4+n);
                n1.add(3+index*4+n);
                m.put(1, n1);
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(3+index*4+n);
                m.put(3, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(4, n1);
                return m;
            case 1:
                n1 = new ArrayList<>();
                n1.add(3+index*4+n);
                m.put(1, n1);
                
                n1 = new ArrayList<>();
                n1.add(3+index*4+n);
                m.put(3, n1);
                return m;
            case 2:
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(0, n1);
                
                n1 = new ArrayList<>();
                n1.add(4+index*4+n);
                m.put(1, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(2, n1);
                
                n1 = new ArrayList<>();
                n1.add(0+index*4+n);
                m.put(3, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(4, n1);
                return m;
            case 3:
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(0, n1);
                
                n1 = new ArrayList<>();
                n1.add(3+index*4+n);
                m.put(1, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(2, n1);
                
                n1 = new ArrayList<>();
                n1.add(3+index*4+n);
                m.put(3, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(4, n1);
                return m;
                
            case 4:
                n1 = new ArrayList<>();
                n1.add(0+index*4+n);
                n1.add(3+index*4+n);
                m.put(1, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(2, n1);
                
                n1 = new ArrayList<>();
                n1.add(3+index*4+n);
                m.put(3, n1);
                return m;
            case 5:
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(0, n1);
                
                n1 = new ArrayList<>();
                n1.add(0+index*4+n);
                m.put(1, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(2, n1);
                
                n1 = new ArrayList<>();
                n1.add(3+index*4+n);
                m.put(3, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(4, n1);
                return m;
            case 6:
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(0, n1);
                n1 = new ArrayList<>();
                n1.add(0+index*4+n);
                m.put(1, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(2, n1);
                
                n1 = new ArrayList<>();
                n1.add(0+index*4+n);
                n1.add(3+index*4+n);
                m.put(3, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(4, n1);
                return m;
            
            case 7:
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(0, n1);

                n1 = new ArrayList<>();
                n1.add(3+index*4+n);
                m.put(1, n1);
                
                n1 = new ArrayList<>();
                n1.add(3+index*4+n);
                m.put(3, n1);
                return m;
            case 8:
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(0, n1);
                
                n1 = new ArrayList<>();
                n1.add(0+index*4+n);
                n1.add(3+index*4+n);
                m.put(1, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(2, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(3+index*4+n);
                m.put(3, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(4, n1);
                return m;
            case 9:
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(0, n1);
                
                n1 = new ArrayList<>();
                n1.add(0+index*4+n);
                n1.add(3+index*4+n);
                m.put(1, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(2, n1);
                
                n1 = new ArrayList<>();
                n1.add(3+index*4+n);
                m.put(3, n1);
                
                n1 = new ArrayList<>();
                n1.add(1+index*4+n);
                n1.add(2+index*4+n);
                m.put(4, n1);
                return m;
        }
    }
}

Jetbrains全家桶1年46,售后保障稳定

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223014.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LAMP+haproxy+varnish实现网站访问的动静分离及静态资源缓存

    LAMP+haproxy+varnish实现网站访问的动静分离及静态资源缓存

    2022年3月8日
    39
  • eclipse中Git的使用

    eclipse中Git的使用eclipse中Git的使用

    2022年4月23日
    47
  • c++const用法_const头文件

    c++const用法_const头文件C++——const

    2022年4月21日
    54
  • export symbol 与 export symbol gpl

    export symbol 与 export symbol gpl1.EXPORT_SYMBOLEXPORT_SYMBOL(my_pub_func);在预编译阶段会解析为:externvoid*__crc_my_pub_func__attribute__((weak));staticconstunsignedlong__kcrctab_my_pub_func__attribute__((__used__))__attri

    2022年7月12日
    15
  • unique的区别_list groupby

    unique的区别_list groupby数据库中根据你的查询条件只会返回唯一结果,就可以用uniqueResult这个方法!否则就用list();其返回类型为Object uniqueResult()方法通常是在业务方法查询语句中用到的,比如(UsersRoles)getSession().createQuery(“selecturfromUsersRolesurwhereur.role.id=?andur.

    2022年9月10日
    0
  • C语言格式输出

    C语言格式输出格式说明由“%”和格式字符组成,如:%d%f等。它的作用是将输出的数据转换成指定的格式输出。格式说明总是由“%”字符开始的。格式字符有:d、o、x、u、c、s、f、e、g等。1、%d整形输出,%ld长整形输出。2、%o以八进制数形式输出整数。3、%x以十六进制形式输出整数,或输出字符串的地址。4、%u以十进制数输出unsigned型整数(无符号数)。注意:%d与%u有无符号数值范围。5、%c用来输出一个字符。6、%s用来输出一个字符串。7、%f用来输出实数,以小数形式输出,默认情况下保留小数

    2022年7月24日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号