这是我的代码...
private void updateDisplay() {
if(hours.getValue() == 0){
hours.setValue(12);
displayString = hours.getDisplayValue() + ":" +
minutes.getDisplayValue() + " am";
}
else if(hours.getValue() < 12){
displayString = hours.getDisplayValue() + ":" +
minutes.getDisplayValue() + " am";
}
else if(hours.getValue() == 12){
displayString = hours.getDisplayValue() + ":" +
minutes.getDisplayValue() + " pm";
}
else if(hours.getValue() < 24){
displayString = hours.getValue() - 12 + ":" +
minutes.getDisplayValue() + " pm";
}
}
所以基本上这是一个我试图以 12 小时格式显示的时钟.. 当它从晚上 11:59 开始变化时
我得到它说上午 12:00,但是一旦我 timeTick() 它一旦到下午 12:01,因为我的 if hours.getValue == 0 然后我们将其设置为 12,但稍后在该方法中,它的 if hours.getValue() == 12 将其设置为下午。我想避免这种情况。在维护相当简单的 java 的同时对此有什么想法吗?
已解决,谢谢。我只是添加了 12 if hours.getValue() == 0,而不是 setValue(12)
最佳答案
为什么不在 12 点时就做你该做的事呢?
实际上不要设置小时值,只需在打印时添加 12。
关于java - if 和 else 语句 Java 试图停止一条语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10775907/