/**
* Program 8.1 untuk menampilkan waktu dalam AM atau PM (Time1).
*
* @author (srachmadbudi)
* @version (1.0)
*/
public class Time1
{
// deklarasi variables
private int hour;
private int minute;
private int second;
//atur waktu menggunakan UTC, berikan exception jika input invalid
public void setTime(int h, int m, int s) {
//validasi waktu
if ((h>=0&&h<24)&&(m>=0&&m<60)&&(s>=0&&s<60)) {
hour = h;
minute = m;
second = s;
}else {
throw new IllegalArgumentException(
"hour, minute, and/or second was out of range"
);
}
}
//konversikan ke string UTC (hh:mm:ss)
public String toUniversalString() {
return String.format("%02d:%02d:%02d", hour, minute, second);
}
//konversi ke string format standar AM PM
public String toString(){
return String.format("%d:%02d:%02d %s",
((hour == 0 || hour == 12) ? 12 : hour % 12),
minute, second, (hour < 12 ? "AM" : "PM"));
}
}