mbah_bejo

8.5 Time2

Oct 11th, 2020
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.68 KB | None | 0 0
  1.  
  2. /**
  3.  * 8.5 Time2
  4.  *  Time2 class declaration with overloaded constructors.�
  5.  * @thomasdwi
  6.  * @20201011
  7.  */
  8. public class Time2
  9. {
  10.     private int hour;//0-23
  11.     private int minute;//0-59
  12.     private int second;//0-59
  13.    
  14.     //time2 tanpa argumen, diisi dengan 0
  15.     public Time2()
  16.     {
  17.         this(0,0,0);
  18.     }
  19.    
  20.     //time2 dengan argumen hour, yang lain diisi dengan 0
  21.     public Time2(int h)
  22.     {
  23.         this(h,0,0);
  24.     }
  25.    
  26.     //time2 dengan argumen hour dan minute, yang lain diisi dengan 0
  27.     public Time2(int h, int m)
  28.     {
  29.         this(h,m,0);
  30.     }
  31.    
  32.     //time2 dengan argumen hour, minute, & second
  33.     public Time2(int h, int m, int s)
  34.     {
  35.         setTime(h,m,s); //memanggil setTime untuk validasi waktu
  36.     }
  37.    
  38.     //time2 dengan argumen objek time2 lainnya
  39.     public Time2(Time2 time)
  40.     {
  41.         this(0,0,0);
  42.     }
  43.    
  44.     // metode untuk mengatur nilai baru waktu dengan waktu universal;
  45.     // memvalidasi data
  46.     public void setTime( int h, int m, int s)
  47.     {
  48.         setHour(h);
  49.         setMinute(m);
  50.         setSecond(s);
  51.     }
  52.    
  53.     //memvalidasi dan mengatur nilai hour
  54.     public void setHour(int h)
  55.     {
  56.         if (h >=0 && h<24)
  57.             hour = h;
  58.         else
  59.             throw new IllegalArgumentException("hour must be 0-23");
  60.     }
  61.    
  62.     //memvalidasi dan mengatur nilai minute
  63.     public void setMinute(int m)
  64.     {
  65.         if (m>=0 && m<60)
  66.             minute = m;
  67.         else
  68.             throw new IllegalArgumentException("minute must be 0-60");
  69.     }
  70.    
  71.     //memvalidasi dan mengatur nilai second
  72.     public void setSecond(int s)
  73.     {
  74.         if (s>=0 && s<60)
  75.             second = ((s>=0 && s<60) ? s : 0);
  76.         else
  77.             throw new IllegalArgumentException("second must be 0-60");
  78.     }
  79.    
  80.     // metode untuk mendapatkan nilai data
  81.     // mendapatkan nilai hour
  82.     public int getHour()
  83.     {
  84.         return hour;
  85.     }
  86.    
  87.     // mendapatkan nilai minute
  88.     public int getMinute()
  89.     {
  90.         return minute;
  91.     }
  92.    
  93.     // mendapatkan nilai second
  94.     public int getSecond()
  95.     {
  96.         return second;
  97.     }
  98.    
  99.     //Merubah ke bentuk string dengan format waktu universal
  100.     public String toUniversalString()
  101.     {
  102.         return String.format("%02d:%02d:%02d",
  103.            getHour(), getMinute(), getSecond());
  104.     }
  105.    
  106.     //Merubah ke bentuk string dengan format waktu standar
  107.     public String toString()
  108.     {
  109.         return String.format("%d:%02d:%02d %s",
  110.            ( (getHour() == 0 || getHour() == 12) ? 12 : getHour() % 12 ),
  111.            getMinute(), getSecond(), ( getHour() < 12 ? "AM" : "PM" ) );
  112.     }
  113. }
  114.  
Advertisement
Add Comment
Please, Sign In to add comment