毕业近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;mfor (int n=0;nif (data[m][i][n]==0){
System.out.print(" ");
}else {
System.out.print("*");
}
}
System.out.print(" ");
}
System.out.println(" ");
}
}
}