面试上机器-将当前时间以数码时钟的方式控制台显示(Java实现)
前言
毕业近2年了,写下人生中的第一篇:博客,不喜轻喷,不断进步,希望通过文字记录我的程序人生 :
废话
此次记录一次面试上机题,将当前时间以数码时钟的方式控制台显示,题目需实现当效果如下图说是,当开始拿到题目确实一脸蒙蔽,什么鬼,这怎么实现,当时从南京赶到上海面试,这已是当天面试当第三家,当时面试当小伙伴大概有4-5个,都拿着这张上机题,等待着上机测试,当时想着待会还得赶高铁,一时也没想到什么思路就和面试官说没有思路先离开了(面试官估计也一脸无语),想想确实准备不够充分,后来回来了就思考着如何实现,下面是我想到都一种实现方法,希望小伙伴提供其他思路,需要做简历的程序员们推荐一下职徒简历一键生成简历方便快捷高效。
实现代码
控制台显示当前时间:
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;m<data.length;m++){for (int n=0;n<data[m][i].length;n++){if (data[m][i][n]==0){System.out.print(" ");}else {System.out.print("*");}}System.out.print(" ");}System.out.println(" ");}}}
实现结果:16:51