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 = Integer.toString(hours.getValue() - 12) + ":" +
minutes.getDisplayValue() + " pm";
}
}
我只能用这个方法来改变时钟的显示 。 我工作了好几个小时, 但我却被卡住了, 因为基于某种原因, 在这种方法中, 它总是跳到其他语句上, 尽管输入的数值符合要求。 下面我将显示我使用的其它类的相关部分 。 现在编辑在午夜滚动时不会留在 AM 中 。
public int getValue()
{
return value;
}
// Return the display value (that is, the current value as a two-digit
// String. If the value is less than ten, it will be padded with a leading
// zero).
public String getDisplayValue()
{
if(value < 10) {
return "0" + value;
}
else {
return "" + value;
}
}
// Set the value of the display to the new specified value. If the new
// value is less than zero or over the limit, do nothing.
public void setValue(int replacementValue)
{
if((replacementValue >= 0) && (replacementValue < limit)) {
value = replacementValue;
}
}