我实际上是在尝试创建一个闹钟,但是我对如何编写此方法有点困惑,这是我的指示以及到目前为止的内容。
/**
* Formats the time one of the following ways:
* "It is the top-of-the-hour" (if the minutes is 0)
* "It is half-past the hour" (if the minutes is 30)
* "It is 23 minutes past the hour" (if the minutes is more than 0 and less than 30; use the correct number
* of minutes here (23 is just an example)
* "It is 10 minutes before the hour" (if the minutes is more than 30 and less than 60; use the correct number
* of minutes here (10 is just an example)
*
* @precondition clock != null
* @postcondition none
*
* @param clock the clock to format
* @return a string as described above
*/
public String formatMinutesInConversationalTone(AlarmClock clock) {
if (clock == null) {
throw new IllegalArgumentException("clock cannot be null");
}
if (clock.getMinutes() == 0) {
return "It is the top-of-the-hour";
}
if(clock.getMinutes() == 30) {
return "it is half past the hour";
}
if(clock.getMinutes() > 0 && clock.getMinutes() < 30) {
}
}
答案 0 :(得分:0)
我会在小时前后的分钟内使用不同的条件,并使用String.format
创建这些字符串:
public String formatMinutesInConversationalTone(AlarmClock clock) {
if (clock == null) {
throw new IllegalArgumentException("clock cannot be null");
}
int minutes = clock.getMinutes();
if (minutes == 0) {
return "It is the top-of-the-hour";
}
if (minutes == 30) {
return "It is half past the hour";
}
if (minutes < 30) {
return String.format("It is %d minutes past the hour", minutes);
}
return String.format("It is %d minutes before the hour", (60 - minutes));
}