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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [Ruby] Ruby Variable Scope[通俗易懂]

    [Ruby] Ruby Variable Scope

    2022年2月2日
    54
  • Centos7配置IP地址和DNS

    Centos7配置IP地址和DNS1.配置IP地址终端上输入ifconfig,找出网卡名称进入配置目录,找出对应网卡配置文件cd/etc/sysconfig/network-scripts/ls编辑配置文件vimifcfg-ens33修改成如下信息TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROU…

    2022年4月30日
    49
  • 理查德费曼学习法「建议收藏」

    理查德费曼学习法「建议收藏」其实大部分人的智力水平相差不大,但是学习力却大相径庭,造成这样差异的更多地是我们的学习方法、学习习惯等可控因素。那么,什么是费曼学习法呢?费曼学习法可以简化为四个单词:Concept(概念)、Teach(教给别人)、Review(回顾)、Simplify(简化)。什么是费曼学习法怎么用费曼学习法1)费曼学习法是什么意思简单来说就是用更少的时间学习更多的知识。费曼以能够快速吸收信息,并且在更短时间内掌握知识闻名,在高中最后一年就拿了纽约大学数学锦标赛冠军,而且后来在普林斯顿大学的数学

    2022年5月2日
    50
  • mysql批量更新优化_QQ群优化软件

    mysql批量更新优化_QQ群优化软件前面介绍了MySQL批量插入可以通过存储过程的方式来实现,这里介绍批量插入100W记录,并做一个优化。建表语句:create_table.sqldroptableifexistsxx_user;createtablexx_user(idintprimarykeyauto_increment,namevarchar(20),ageint);直接插入:pr…

    2022年10月6日
    0
  • cBridge 2.0主网启动:迈向无缝互操作性未来的关键一步

    cBridge 2.0主网启动:迈向无缝互操作性未来的关键一步在不到两个月前,我们宣布了基于升级版SGN的cBridge2.0计划,今天,我们高兴地宣布cBridge2.0主网正式上线!

    2022年5月4日
    47
  • ODS设计_ods dw

    ODS设计_ods dw1.数据调研2.确定数据范围需要把上端应用需求与ODS数据范围进行验证,以确保应用所需的数据都已经从业务系统中抽取出来,并且得到了很好的组织,以ER模型表示数据主题关系3.根据数据范围进行进一步的数据分析和主题定义把第一步生成的每个ER图中的实体进行分解,分解的结果仍以ER表示为佳4.定义主题元素定义主题、粒度、维、度量、存储期限a.定义维的概念特性:维…

    2022年9月26日
    0

发表回复

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

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