2019-03-18 面试题之使用java获取当前时间并以液晶的
2019-03-18 本文已影响0人
Mao34er
8f7f0656920655eefe6031faa26e71e9.jpg
Z84HCJ~Q`SJDA300B5~IY23.png
补充下面例子的乱码,编译器解析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));
//注意:输出的代码请自行调整 本人没有做调整输出的比较乱 如需使用请自行调整
}
}
注意:输出的代码请自行调整 本人没有做调整输出的比较乱 如需使用请自行调整