java模拟电子表,打印火柴类型时间

来源:互联网 发布:ubuntu 16.04 deepin 编辑:程序博客网 时间:2024/04/26 04:57

模拟打印电子表
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,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(" ");}

}

原创粉丝点击