Итак, у меня есть это задание, в котором нас просят принять строковый формат времени в порядке ЧЧ: ММ: ССАМ или ЧЧ: СС: ММРМ.Ограничение состоит в том, что он не может работать, если он находится в неправильном формате, пусть он пропускает любую форму AM или PM, пропускает число или если он в 24-часовом формате.
У меня есть вся идеявниз, однако, для моих утверждений, это дает мне ошибку:
неверные типы операндов для несопоставимых типов двоичного оператора '>': String и int
Я неправильно преобразовал их или яделать что-то еще не так?
public static void main(String args[]) {
//Test Methods
String fullTime1 = "03:21:36AM";
secondsAfterMidnight(fullTime1);
}
public static int secondsAfterMidnight(String time) {
String[] units = time.split(":");
int hours = Integer.parseInt(units[0]);
int minutes = Integer.parseInt(units[1]);
int seconds = Integer.parseInt(units[2]);
int totalSeconds = 0;
if (units[0] > 12 || units[1] > 59 || units[2] > 59) { //1st Error applies to these three, units[0] > 12 units[1] > 59 units[2] > 59
return -1;
} else if (time.equalsIgnoreCase("AM") || time.equalsIgnoreCase("PM")) {
totalSeconds = (hours * 3600) + (minutes * 60) + (seconds);
} else if (time.equalsIgnoreCase("AM") && units[0] == 12) { //2nd Error applies to this units[0] == 12
totalSeconds = (minutes * 60) + (seconds);
} else {
return -1;
}
return totalSeconds;
}