Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Class ClockDisplay menampilkan jam digital
- * berformat 24-jam. Jam ini menunjukkan jam
- * dan menit.
- * Jarak yang ditampilkan jam adalah 00:00 (tengah malam) ke 23:59
- * (satu menit sebelum tengah malam).
- *
- * Jam menerima "detik" (lewat method timeTick)
- * setiap menitnya dan bereaksi dengan menaikkan
- * menit sebanyak 1.
- * Nilai jam juga akan bertambah satu jika nilai menit kembali ke nol.
- */
- public class ClockDisplay
- {
- private NumberDisplay hours;
- private NumberDisplay minutes;
- private String displayString; // mensimulasikan tampilan sebenarnya.
- /**
- * Konstruktor untuk objek ClockDisplay.
- * Konstruktor ini membuat jam baru yang mulai dari 00:00.
- */
- public ClockDisplay()
- {
- hours = new NumberDisplay(24);
- minutes = new NumberDisplay(60);
- updateDisplay();
- }
- /**
- * Konstruktor untuk objek ClockDisplay. Konstruktor ini
- * membuat jam baru yang waktunya diatur
- * oleh parameter tertentu.
- */
- public ClockDisplay (int hour, int minute)
- {
- hours = new NumberDisplay(24);
- minutes = new NumberDisplay(60);
- setTime (hour, minute);
- }
- /**
- * Method ini harus dipanggil sekali tiap menit
- * Membuat tampilan jam maju satu menit.
- */
- public void timeTick()
- {
- minutes.increment();
- if (minutes.getValue() == 0)
- {
- // nilai menit kembali menjadi nol!
- hours.increment();
- }
- updateDisplay();
- }
- /**
- * Mengatur waktu tampilan ke jam
- * dan menit tertentu.
- */
- public void setTime (int hour, int minute)
- {
- hours.setValue (hour);
- minutes.setValue (minute);
- updateDisplay();
- }
- /**
- * Return waktu saat ini pada display dalam format
- * HH:MM.
- */
- public String getTime()
- {
- return displayString;
- }
- /**
- * Update string internal yang mewakili
- * tampilan.
- */
- private void updateDisplay()
- {
- displayString = hours.getDisplayValue() + ":" +
- minutes.getDisplayValue();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment