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)
上一篇 2025年6月30日 下午7:43
下一篇 2025年6月30日 下午8:15


相关推荐

  • java中display中的属性_全面解析display属性

    java中display中的属性_全面解析display属性大家都知道 display 可以转换元素类型 但是大多人其实对于 display 的属性值 比较熟悉的只是 block 和 inline 以及 inline block 和 none 对于其他属性值 了解都比较一般 在平时开发过程中也不太用得到其他的属性值 但是每次用这个属性的时候 脑海里都会冒出来 其他的属性值 设置了会是怎么样 有什么样的特点 这个奇奇怪怪的想法 所以找了个时间 写下这篇文章 跟我有相同可爱想法的

    2026年3月18日
    1
  • rpm 安装冲突「建议收藏」

    rpm 安装冲突「建议收藏」1.要安装的包比已安装的包旧,则采用降级的方式安装 rpm -Uvhkpartx-0.4.9-72.el6.x86_64.rpm –oldpackage 2.安装的包比已安装的包新,则直接升级即可 rpm -Uvhkpartx-0.4.9-72.el6.x86_64.rpm  或者末尾追加 –replacefiles  或  –repl…

    2022年5月5日
    40
  • IDEA版本的Mybatis逆向工程使用攻略「建议收藏」

    IDEA版本的Mybatis逆向工程使用攻略「建议收藏」idea版本的Mybatis逆向工程开发(自动生成实体类层,mapper文件,dao层)一、使用逆向工程开发概述今天早上打算做一个spring+springmvc+mybatis的项目,然后感觉这个mapper文件太难写了,最后就想在网上找一个方法能解决不写mapper文件的方法,最后就发现了这个懒人必背法宝:“myabtis逆向工程”的技术,但是全网几乎都是“eclipse版本生成MyBatis逆向工程”,然后自己就搞了一个idea+maven版本的逆向工程,并且全部在gitee开源了的哟,如果

    2022年8月21日
    10
  • Linux 学习之 MQTT 服务器搭建「建议收藏」

    Linux 学习之 MQTT 服务器搭建「建议收藏」摘要:前言博主之前写了一篇《在Windows下搭建MQTT服务器》,这次要尝试在Ubuntu下搭建MQTT服务器。实际上,下载好源码包后,后面的都和那篇文章差不多了。开发环境虚拟机Ubuntu14.04.5LTSApache-Apollo-1.7.1准备工作由于搭建Apollo环境变量需要有JAVA_HOME,这个时候需要安装JDK,可以参考这篇文章:《Ubuntu安装JDK1.8.0并配置环境变…

    2022年5月10日
    39
  • rsyslogd-学习&使用

    rsyslogd-学习&使用简介【这一篇博客不是完整的解释rsyslogd的运行原理,只是一个自己查找资料的记录】rsyslog是一个syslogd的多线程增强版。现在Fedora和Ubuntu,rhel6默认的日志系统都是rsyslog了。rsyslog负责写入日志,logrotate负责备份和删除旧日志,以及更新日志文件学习资料1.官方网站官方网站:http://www.rsyslog.com/这是官

    2022年8月15日
    7
  • yum linux phpmyadmin,Linux centos7 下安装 phpMyAdmin的教程

    yum linux phpmyadmin,Linux centos7 下安装 phpMyAdmin的教程yuminstallhttpdphpmariadb-server–y搭建lamp运行环境之后安装phpMyAdmin遇到的一些问题记录一下1.官网下载phpMyAdmin压缩包wget-chttps://files.phpmyadmin.net/phpMyAdmin/4.9.3/phpMyAdmin-4.9.3-all-languages.tar.gz2.解压缩到/var/www/h…

    2022年5月31日
    30

发表回复

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

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