java模拟电子表,打印火柴类型时间
2017-10-28 15:25
169 查看
模拟打印电子表
public class PrintTime { public static void main(String[] args) { //通过Timer()实现定时1秒任务 // Timer timer = new Timer(); // timer.schedule(new TimerTask() { // @Override // public void run() { // Calendar calendar = Calendar.getInstance(); // Date date = calendar.getTime(); // printTime(date); // } // },1000,1000); //线程sleep(1000)控制时间,实现定时 new Thread(new Runnable() { @Override public void run() { while(true){ Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime(); printTime(date); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start(); } //打印时间方法 public static void printTime(Date date){ SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); String time = sdf.format(date); System.out.println(time); //inputIntList存放每个数字代表的轨迹组合int[] List<int[]> inputIntList = new LinkedList<int[]>(); for(int i=0;i<time.length();i++){ String a =String.valueOf(time.charAt(i)); //将数字转化为相应的轨迹组合int[],并加到inputIntList中 if(!a.equals(":")){ inputIntList.add(matchNumberGenerator(a)); } } //遍历inputIntList,打印数字 Iterator<int[]> iterator = null; //5行,3列打印 for(int i = 0; i < 5; i++){ iterator = inputIntList.iterator(); while(iterator.hasNext()){ printNumber(iterator.next(),i*3,(i+1)*3); } System.out.println(); } } //将数字转化为相应的轨迹组合int[] public static int[] matchNumberGenerator(String a){ int result[] = null; switch(a){ //"_"-->2 " "-->0 "|"-->1 case "0": result = new int[]{0,2,0,1,0,1,1,0,1,1,0,1,1,2,1}; //"' _ '| |'| |'| |'|_|".split(","); break; case "1": result = new int[]{0,0,0,0,0,1,0,0,1,0,0,1,0,0,1}; //"' ' |' |' |' |".split(","); break; case "2": result = new int[]{0,2,0,0,0,1,0,2,1,1,0,0,1,2,0}; //"' _ ' |' _|'| '|_ ".split(","); break; case "3": result = new int[]{0,2,0,0,0,1,0,2,1,0,0,1,0,2,1}; //"' _ ' |' _|' |' _|".split(","); break; case "4": result = new int[]{0,0,0,1,0,1,1,2,1,0,0,1,0,0,1}; //"' '| |'|_|' |' |".split(","); break; case "5": result = new int[]{0,2,0,1,0,0,1,2,0,0,0,1,0,2,1}; //"' _ '| '|_ ' |' _|".split(","); break; case "6": result = new int[]{0,2,0,1,0,0,1,2,0,1,0,1,1,2,1}; //"' _ '| '|_ '| |'|_|".split(","); break; case "7": result = new int[]{0,2,0,0,0,1,0,0< a323 /span>,1,0,0,1,0,0,1}; //"' _ ' |' |' |' |".split(","); break; case "8": result = new int[]{0,2,0,1,0,1,1,2,1,1,0,1,1,2,1}; //"' _ '| |'|_|'| |'|_|".split(","); break; case "9": result = new int[]{0,2,0,1,0,1,1,2,1,0,0,1,0,2,1}; //"' _ '| |'|_|' |' _|".split(","); break; } return result; } //根据轨迹组合,打印相应数字 public static void printNumber(int[] numberArray, int arrayIndex, int arrayIndexEnd){ for(int i = arrayIndex; i < arrayIndexEnd;i++){ switch(numberArray[i]){ // "_"-->2 " "-->0 "|"-->1 case 0: System.out.print(" "); break; case 1: System.out.print("|"); break; case 2: System.out.print("_"); break; } } System.out.print(" "); } }
相关文章推荐
- PHP和Java和MySQL中的时间类型
- mysql中时间类型和java之间的对于关系
- java 时间类型转换运用实例
- Java获取当前时间,并转化为String类型
- 解析MySql与Java的时间类型
- 解析MySql与Java的时间类型
- Java 时间和日期类型的 Hibernate 映射
- Golang 模拟java超类型(abstract class)的实现 推荐
- Java Long类型时间转换踩的坑
- java 打印程序运行时间
- [JAVA web]Spring MVC 枚举类型与数据库,登陆过滤器,时间类型映射
- MySql 与Java的时间类型
- java任务--打印时间
- String类型存储到Clob类型的方法、java存储时间戳
- java基本类型运行时间优于装箱基本类型详细举例说明
- JAVA将十位时间戳格式化为日期Date类型
- java扩展Hibernate注解支持java8新时间类型
- Java String类型时间串 转SQL Date类型存入数据库
- 关于java将String类型的时间字符串转换为Date类型的问题
- 1007--Java 时间和日期类型的 Hibernate 映射