gpt4 book ai didi

java - 使用 BlueJ 将 24 时钟更改为 12 时钟

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:49 25 4
gpt4 key购买 nike

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";
}
}

我只想使用此方法来更改时钟的显示。我已经研究了几个小时,但我陷入困境,因为由于某种原因,在该方法中,即使输入的值满足 if 要求,它仍然会跳转到 else 语句。下面我将显示我正在使用的其他类(class)的相关部分。编辑现在在午夜滚动时不​​会停留在上午

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;
}
}

最佳答案

我认为您错过了其他:

private void updateDisplay()
{
if(hours.getValue() < 12)
displayString = hours.getDisplayValue() + ":" +
minutes.getDisplayValue() + " am";

[this one] >>>> else if(hours.getValue() >= 12 && hours.getValue() < 25)
displayString = Integer.toString(hours.getValue() - 12) + ":" +
minutes.getDisplayValue() + " pm";

else {
hours.setValue(12);
displayString = hours.getDisplayValue() + ":" +
minutes.getDisplayValue() + " am";
}
}

已添加:

您还可以使用SimpleDateFormat格式化你的时间。方法如下:

SimpleDateFormat from = new SimpleDateFormat("H");
SimpleDateFormat to = new SimpleDateFormat("h a");

return to.format(from.parse(hours.getValue));

添加2:

如果您需要手动计算,最简单的方法是:

if (hours.getValue() == 0) {
return "12 am";
} else if (hours.getValue() < 12) {
return hours.getValue() + " am";
} else if (hours.getValue() == 12) {
return "12 pm";
} else if (hours.getValue() < 24) {
return (hours.getValue()-12) + " pm";
} else {
throw new ParseException("Invalid hours value: "+hours.getValue());
}

关于java - 使用 BlueJ 将 24 时钟更改为 12 时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10772221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com