Kali ini saya akan membahas untuk display jam.
KIta akan membuat 3 class
1. NumberDisplay
Pada class ini berisi fungsi untuk set limit jam, get value, dan syarat-syarat yang dibutuhkan oleh jam.
public class NumberDisplay
{
private int limit;
private int value;
public NumberDisplay(int rollOverLimit)
{
limit = rollOverLimit;
value = 0;
}
public int getValue()
{
return value;
}
public void setValue(int replacementValue)
{
if((replacementValue >= 0) && (replacementValue < limit))
{
value = replacementValue;
}
}
public String getDisplayValue()
{
if(value < 10)
{
return "0" + value;
}
else
{
return "" + value;
}
}
public void increment()
{
value = (value + 1) % limit;
}
}
2. ClockDisplay
Fungsi ini adalah dasar dari clock yang nantinya akan mengatur segala fungsi yang ada di NumberDisplay.
public class ClockDisplay {
private NumberDisplay hours;
private NumberDisplay minutes;
private String displayString;
public ClockDisplay()
{
hours = new NumberDisplay(24);
minutes = new NumberDisplay(60);
updateDisplay();
}
public ClockDisplay(int hour, int minute)
{
hours = new NumberDisplay(24);
minutes = new NumberDisplay(60);
setTime(hour, minute);
}
public void timeTick()
{
minutes.increment();
if(minutes.getValue() == 0)
{
hours.increment();
}
updateDisplay();
}
public void setTime(int hour, int minute)
{
hours.setValue(hour);
minutes.setValue(minute);
updateDisplay();
}
public String getTime()
{
return displayString;
}
private void updateDisplay()
{
displayString = hours.getDisplayValue() + ":" + minutes.getDisplayValue();
}
}
3. TestClockDisplay
Fungsi ini digunakan untuk tes clock yang kita buat, disini saya akan mencoba dengan jam 12.34
public class TestClockDisplay
{
public TestClockDisplay()
{
}
public void test()
{
ClockDisplay clock = new ClockDisplay();
clock.setTime(12,34);
System.out.println(clock.getTime());
}
}
Buat relasi sedemikian rupa
Jalankan dan akan muncul output sebagai berikut
Demikian contoh code untuk ClockDisplay, semoga dapat bermanfaat :)
Tidak ada komentar:
Posting Komentar