所以,要显示0-9这十个数字,就加个0X30好了,比如5,ASCII码是0X35,那么5+0X30=0X35。明白了嘛?
或者你可以写成write_date(‘0’+shi)
这里的'0'加了引号,就代表是ASCII码了,效果和加0X30是一样的。
另外,你想要显示字母,比如A,那么可以写成write_date(‘A’+shi)
当SHI为0时,就是显示A了,当SHI为1时,就显示B了。字母的ASCII也是告拆递增的,你不想去查数字或者字母的ASCII时,你就直接加引号就行了。
//这是新建了一个public类,名称为Timepublic class Time{
//其中有三个变量,表示时分秒
private int hour
private int minute
private int second
//此处即为空参数的构造函数,即当声明这个类的对象时,怎样初始化这个对象里面的值
//每个对象都表示个时间。
//这顷衡个构造函数调用了这个类里面的有三个参数的构造函数。
public Time(){
this(0,0,0)
}
//此处为一个参数的构造函数
public Time(int h){
this(h,0,0)
}
//此处为二个参数的构造函数
public Time(int h,int m){
this(h,m,0)
}
//此处为三个参数的构造函数,即前面的构造函数调用了这个构造函数来初始化对象的时间值
public Time(int h,int m,int s){
setTime(h,m,s)
}
//此处是构造函数,参数为这个类的对象:
//即郑乱用一个已经表示一个时间的Time对象来创建一个和它一样的时间对象
public Time(Time time){
this(time.getHour(),time.getMinute(),time.getSecond())
}
//设置时间值
public void setTime(int h,int m,int s){
setHour(h)
setMinute(m)
setSecond(s)
}
//设置时
public void setHour(int h){
hour=((h>=0&&h<24)?h:0)
}
//设置分
public void setMinute(int m){
minute=((m>=0&&m<60)?m:0)
}
//设置秒
public void setSecong(int s){
second=((s>=0&&s<60)?s:0)
}
//获得这个时间对象的时
public int getHour(){
return hour
}
//获得分
public int getMinute(){
return minute
}
//获得秒
public int getSecond(){
return second
}
//格式化时间成为串
public String toUniversalString(){
return String.format("%d:%02d:%02d",getHour(),getMinute(),getSecond())
}
//格式化这个时间成为串
public String toString(){
return String.format("%d:%02d:%02d%s",((getHour()==0||getHour()==12)?12:getHour()%12),getMinute(),getSecond(),(getHour()<12?"AM":"PM"))
}
}
构造方法:通过这个程序可以看出,一个时间对象表示一个时间,有时分秒,那么创建对象要给它表示个时间,构造函数就是初始化有关的 *** 作。
比如我创建一个对象Time time0=new Time(8,20,20)那么time0就表示8:20:20。
构造函数通常的格式是:public + 类名称(参数列表){},记住,它没有返回值。
重载:可以看到里面不只一个构造函数,这就是重载。你可能并不一定要确切的时分秒或其它,这样就可以调用不同的构造函数。喊乎档
比如:Time time1=new Time(time0)这也创建了对象,此对象表示的时间和time0是一样的。
重载的意思是一个函数,参数列表的不同可以实现不同的功能。
42是16进制数字,换算成10进制就是66,。输入时钟是66M,用计数器计数,掘森计到66,CLK_1M翻转一次,然后计数器清零陆樱,再过66个时钟周期再翻转一次,循环得到的CLK_1M就是早散丛1MHz,。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)