2019-03-18 面试题之使用java获取当前时间并以液晶的

2019-03-18  本文已影响0人  Mao34er
8f7f0656920655eefe6031faa26e71e9.jpg

补充下面例子的乱码,编译器解析tab的空格数不同导致的乱码,补图


Z84HCJ~Q`SJDA300B5~IY23.png
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class TestClass {
    //思路:
    //一、首先把一个数字分为五次输出
    //例如:
    //1.               ——        ——                    ——               ——        ——       ——
    //2.       |            |          |     |    |       |        |              |      |    |     |    |
    //3.               ——        ——       ——         ——     ——                  ——       ——
    //4.       |      |                |          |            |   |     |        |      |    |         |
    //5.               ——        ——                    ——      ——                 ——
    //二、把九个数字分别用横竖表示出来
    //第一层分别是 (——,   );
    //第二层分别是 (|    |,    |,|     );
    //第三层分别是 (——,   );
    //第四层分别是 (|    |,    |,|     );
    //第五层分别是 (——,  );
    //三、从上面可以看出第一/三/五层用到的元素一样 第二/四层元素一样

    //四、创建横所需元素数组
    static final String[] hfloor = {"——", "  "};

    //五、创建竖所需元素数组
    static final String[] sfloor = {"|    |", "|     ", "     |"};

    //六、根据以下的组成可以看出每一层要打印的规律
    //0的组成:h0,s0,h1,s0,h0
    //1的组成:h1,s2,h1,s2,h1
    //2的组成:h0,s2,h0,s1,h0
    //3的组成:h0,s2,h0,s2,h0
    //4的组成:h1,s0,h0,s2,h1
    //5的组成:h0,s1,h0,s2,h0
    //6的组成:h1,s1,h0,s0,h0
    //7的组成:h0,s2,h1,s2,h1
    //8的组成:h0,s0,h0,s0,h0
    //9的组成:h0,s0,h0,s2,h1
    //1层
    public static String printOne(String s) {
        if ("1".equals(s) || "4".equals(s) || "6".equals(s)) {
            return hfloor[1];
        } else {
            return hfloor[0];
        }
    }

    //2层
    public static String printTwo(String s) {
        if ("5".equals(s) || "6".equals(s)) {
            return sfloor[1];
        } else if ("0".equals(s) || "4".equals(s) || "8".equals(s) || "9".equals(s)) {
            return sfloor[0];
        } else {
            return sfloor[2];
        }
    }

    //3层
    public static String printThree(String s) {
        if ("0".equals(s) || "1".equals(s) || "7".equals(s)) {
            return hfloor[1];
        } else {
            return hfloor[0];
        }
    }

    //4层
    public static String printFour(String s) {
        if ("2".equals(s)) {
            return sfloor[1];
        } else if ("0".equals(s) || "6".equals(s) || "8".equals(s)) {
            return sfloor[0];
        } else {
            return sfloor[2];
        }
    }

    //5层
    public static String printFive(String s) {
        if ("1".equals(s) || "4".equals(s) || "7".equals(s) || "9".equals(s)) {
            return hfloor[1];
        } else {
            return hfloor[0];
        }
    }

    public static void main(String[] args) {
        //七、获取当前时间
        Calendar calendar = Calendar.getInstance();
        Date time1 = calendar.getTime();
        //格式化时间为12小时制的,则使用hh:mm:ss;
        //格式化时间为24小时制的,则使用HH:mm:ss;
        //八、格式化当前时间
        SimpleDateFormat format = new SimpleDateFormat("HHmm");
        String time = format.format(time1);
        //九、例如格式化后的字符为:2014(20:14)
        //获取到2
        String one = time.substring(0, 1);
        //获取到0
        String two = time.substring(1, 2);
        //获取到1
        String three = time.substring(2, 3);
        //获取到4
        String four = time.substring(3, 4);
        //输出一层
        System.out.println(printOne(one) + printOne(two) + printOne(three) + printOne(four));
        //输出二层
        System.out.println(printTwo(one) + printTwo(two) + printTwo(three) + printTwo(four));
        //输出三层
        System.out.println(printThree(one) + printThree(two) + printThree(three) + printThree(four));
        //输出四层
        System.out.println(printFour(one) + printFour(two) + printFour(three) + printFour(four));
        //输出五层
        System.out.println(printFive(one) + printFive(two) + printFive(three) + printFive(four));

        //注意:输出的代码请自行调整  本人没有做调整输出的比较乱  如需使用请自行调整
        
    }
    
}

注意:输出的代码请自行调整 本人没有做调整输出的比较乱 如需使用请自行调整

上一篇 下一篇

猜你喜欢

热点阅读