Java 时钟项目 - Tick 方法在分钟和秒中输出“0”而不是“00”,修复了 AM PM 的输出
Java clock project - Tick method outputting "0" instead of "00" for minutes and seconds, fix output for AM PM
已解决:我目前正在做一个项目来创建一个时钟,当调用方法 tick 时,时钟将增加 1 秒。还有其他问题,但现在我无法弄清楚为什么当我将组件列为“00”时我的输出是 "Clock finally reads: 12:0:0"。它应该是 12:00:00。此外,如果小时为1,它也应该输出“01”。
更新:错误已修复。但是,我还需要实现它,以便显示它是上午还是下午。目前,它 return 将此作为示例 (12:00:00false),而不是从布尔值中写入 AM 或 PM。我怎样才能解决这个问题?
我的打勾方法是:
public void tick() {
this.seconds++;
if (this.seconds == 60) {
this.seconds = 00;
this.minutes++;}
if (this.minutes == 60) {
this.hours++;
this.minutes = 00;}
if(this.seconds == 60){
this.minutes++;
this.seconds = 00;
if(this.minutes == 60){
this.hours++;
this.minutes = 00;
}}
if(this.hours == 13) {
this.hours = 1;
this.morning = false;
}
if (this.morning) {
AMPM = "AM";
}
else {
AMPM = "PM";
}
}
我的return方法是:
@Override
public String toString() {
return String.format("%1d:%02d:%02d%2s", hours, minutes, seconds, morning);
}
我做错了什么?
尝试方法 String.format
:
@Override
public String toString() {
return (String.format("%02d:%02d:%02d", hours, minutes, seconds));
}
已解决:我目前正在做一个项目来创建一个时钟,当调用方法 tick 时,时钟将增加 1 秒。还有其他问题,但现在我无法弄清楚为什么当我将组件列为“00”时我的输出是 "Clock finally reads: 12:0:0"。它应该是 12:00:00。此外,如果小时为1,它也应该输出“01”。
更新:错误已修复。但是,我还需要实现它,以便显示它是上午还是下午。目前,它 return 将此作为示例 (12:00:00false),而不是从布尔值中写入 AM 或 PM。我怎样才能解决这个问题? 我的打勾方法是:
public void tick() {
this.seconds++;
if (this.seconds == 60) {
this.seconds = 00;
this.minutes++;}
if (this.minutes == 60) {
this.hours++;
this.minutes = 00;}
if(this.seconds == 60){
this.minutes++;
this.seconds = 00;
if(this.minutes == 60){
this.hours++;
this.minutes = 00;
}}
if(this.hours == 13) {
this.hours = 1;
this.morning = false;
}
if (this.morning) {
AMPM = "AM";
}
else {
AMPM = "PM";
}
}
我的return方法是:
@Override
public String toString() {
return String.format("%1d:%02d:%02d%2s", hours, minutes, seconds, morning);
}
我做错了什么?
尝试方法 String.format
:
@Override
public String toString() {
return (String.format("%02d:%02d:%02d", hours, minutes, seconds));
}