我在java中有项目。
使用以下规范创建CTime类
- 属性:小时,分钟和秒
- 小时> = 0且< = 23,分钟> = 0且< = 59,秒> = 0且< = 59
- 方法
醇>
- 更新CTime属性的构造函数
每个属性的set
和get
方法tick
方法,向CTime对象添加1秒并且不返回任何内容toString
方法,使用以下格式创建时间字符串HH:mm:ss例如22时15分01秒
我做了这个
public class CTime {
int hour;
int min;
int sec;
public CTime(int h, int m, int s) {
hour = h;
min = m;
sec = s;
}
public void setHour(int h) {
hour = h;
}
public int getHour() {
return hour;
}
public void setMin(int m) {
min = m;
}
public int getMin() {
return min;
}
public void setSec(int s) {
sec = s;
}
public int getSec() {
return sec;
}
public void tick() {
sec++;
if (sec >= 59) {
sec = 0;
min++;
if (min >= 59) {
min = 0;
}
hour++;
}
}
public String toString() {
String s = hour + ":" + min + ":" + sec;
return s;
}
}
如何用2位数制作我的小时,分钟和秒,例如5点02分09秒?
我的代码是否正确?
答案 0 :(得分:2)
如果你坚持按照自己的方式使用Strings做这类事情,你可以做类似以下的事情:
public String toString() {
String s = (hour > 9 ? hour : "0" + hour) + ":" + (min > 9 ? min : "0" + min) + ":" + (sec > 9 ? sec : "0" + sec);
return s;
}
答案 1 :(得分:2)
只需使用String.format()
public String toString() {
String s = String.format("%02d:%02d:%02d", hour, min, sec);
return s;
}
另一个链接here
你的代码,是的,它是正确的。要使它成为 live 时钟,您所要做的就是每秒调用tick()
方法。看看this SO post,了解如何做到这一点。