面试上机器-将当前时间以数码时钟的方式控制台显示(Java实现)

面试上机器-将当前时间以数码时钟的方式控制台显示(Java实现)

前言

毕业近2年了,写下人生中的第一篇:博客,不喜轻喷,不断进步,希望通过文字记录我的程序人生 :

废话

此次记录一次面试上机题,将当前时间以数码时钟的方式控制台显示,题目需实现当效果如下图说是,当开始拿到题目确实一脸蒙蔽,什么鬼,这怎么实现,当时从南京赶到上海面试,这已是当天面试当第三家,当时面试当小伙伴大概有4-5个,都拿着这张上机题,等待着上机测试,当时想着待会还得赶高铁,一时也没想到什么思路就和面试官说没有思路先离开了(面试官估计也一脸无语),想想确实准备不够充分,后来回来了就思考着如何实现,下面是我想到都一种实现方法,希望小伙伴提供其他思路。
面试上机器-将当前时间以数码时钟的方式控制台显示(Java实现)_第1张图片

实现代码

控制台显示当前时间:

public class ShowDate {

    /**
     * 将0-9用二位数组01表示显示空或*
     * 
     * 例:2
     *   ***
     *     *
     *   ***
     *   *
     *   ***
     */

    static int [][] nub0={{1,1,1},{1,0,1},{1,0,1},{1,0,1},{1,1,1}};
    static int [][] nub1={{0,0,1},{0,0,1},{0,0,1},{0,0,1},{0,0,1}};
    static int [][] nub2={{1,1,1},{0,0,1},{1,1,1},{1,0,0},{1,1,1}};
    static int [][] nub3={{1,1,1},{0,0,1},{1,1,1},{0,0,1},{1,1,1}};
    static int [][] nub4={{1,0,1},{1,0,1},{1,1,1},{0,0,1},{0,0,1}};
    static int [][] nub5={{1,1,1},{1,0,0},{1,1,1},{0,0,1},{1,1,1}};
    static int [][] nub6={{1,1,1},{1,0,0},{1,1,1},{1,0,1},{1,1,1}};
    static int [][] nub7={{1,1,1},{0,0,1},{0,0,1},{0,0,1},{0,0,1}};
    static int [][] nub8={{1,1,1},{1,0,1},{1,1,1},{1,0,1},{1,1,1}};
    static int [][] nub9={{1,1,1},{1,0,1},{1,1,1},{0,0,1},{1,1,1}};
    //冒号
    static int [][] point={{0,0,0},{0,1,0},{0,0,0},{0,1,0},{0,0,0}};

    static int [][][] nubs={nub0,nub1,nub2,nub3,nub4,nub5,nub6,nub7,nub8,nub9};
    public static void main(String args[]){

        Calendar now = Calendar.getInstance();

        int day_tens=0,day_units=0,min_tens=0,min_units=0;

        day_tens=now.get(Calendar.HOUR_OF_DAY)/10;
        day_units=now.get(Calendar.HOUR_OF_DAY)%10;

        min_tens=now.get(Calendar.MINUTE)/10;
        min_units=now.get(Calendar.MINUTE)%10;


        int data [][][]={nubs[day_tens],nubs[day_units],point,nubs[min_tens],nubs[min_units]};

        for (int i=0;i<5;i++){

            for (int m=0;mfor (int n=0;nif (data[m][i][n]==0){
                        System.out.print(" ");
                    }else {
                        System.out.print("*");
                    }

                }

                System.out.print(" ");
            }

            System.out.println(" ");
        }

    }
}

实现结果:16:51
面试上机器-将当前时间以数码时钟的方式控制台显示(Java实现)_第2张图片

你可能感兴趣的:(面试)