Senin, 27 Februari 2017

Java Time Class

ini adalah hasilnnya :

 **  
  * Time1.java  
  * Time1 class declaration maintains the time in 24-hour format.  
  *  
  * @Ari Setyaji  
  * @28 February 2017  
  */  
 public class Time1  
 {  
   private int hour; // 0 - 23  
   private int minute; // 0 - 59  
   private int second; // 0 - 59  
   // set a new time value using universal time; throw an  
   // exception if the hour, minute or second is invalid.  
   public void setTime (int h, int m, int s)  
   {  
     // validate hour, minute and second  
     if ((h >= 0 && h < 24) && ( m >= 0 && m < 60) && (s >= 0 && s < 60))  
     {  
       hour = h;  
       minute = m;  
       second = s;  
     } // end if  
     else  
     {  
       throw new IllegalArgumentException  
       ("hour, minute and/or second was out of range");  
     }  
   } // end method setTime  
   // convert to String in universal-time format (HH:MM:SS)  
   public String toUniversalString()  
   {  
     return String.format ("%02d:%02d:%02d", hour, minute, second);  
   } // end method toUniversalString  
   // convert to String in standard-time format (H:MM:SS AM or PM)  
   public String toString()  
   {  
     return String.format ("%d:%02d:%02d %s",  
       (( hour == 0 || hour == 12 ) ? 12 : hour % 12),  
       minute, second, (hour < 12 ? "AM" : "PM"));  
   } // end method toString  
 } // end class Time1  




 /**  
  * Time1Test.java  
  *  
  * Ari setyaji  
  * 28 February 2017  
  */  
 public class Time1Test  
 {  
   public static void main (String[] args)  
   {  
     // create and initialize a Time1 object  
     Time1 time = new Time1(); // invokes Time1 constructor  
     // output string representations of the time  
     System.out.print ("The initial universal time is: ");  
     System.out.println (time.toUniversalString());  
     System.out.print ("The initial standard time is: ");  
     System.out.println (time.toString());  
     System.out.println(); // output a blank line  
     // change time and output updated time  
     time.setTime (13, 27, 6);  
     System.out.print ("Universal time after setTime is: ");  
     System.out.println (time.toUniversalString());  
     System.out.print ("Standard time after setTime is: ");  
     System.out.println (time.toString());  
     System.out.println(); // output a blank line  
     // attempt to set time with invalid values  
     try  
     {  
       time.setTime (99, 99, 99); // all values out of range  
     } // end try  
     catch (IllegalArgumentException e)  
     {  
       System.out.printf ("Exception: %s\n\n", e.getMessage());  
     } // end catch  
     // display time after attempt to set invalid values  
     System.out.println ("After attempting invalid settings:" );  
     System.out.print ("Universal time: ");  
     System.out.println (time.toUniversalString());  
     System.out.print ("Standard time: ");  
     System.out.println (time.toString());  
   } // end main  
 } // end class Time1Test  
Hasil output adalah :

 The initial universal time is: 00:00:00  
 The initial standard time is: 12:00:00 AM  
 Universal time after setTime is: 13:27:06  
 Standard time after setTime is: 1:27:06 PM  
 Exception: hour, minute and/or second was out of range  
 After attempting invalid settings:  
 Universal time: 13:27:06  
 Standard time: 1:27:06 PM  



 /**  
  * ThisTest.java  
  * this used implicitly and explicitly to refer to members of an object.  
  *  
  * Ari Setyaji  
  * 28 February 2017  
  */  
 public class ThisTest  
 {  
   public static void main (String[] args)  
   {  
    SimpleTime time = new SimpleTime (15, 30, 19);  
    System.out.println (time.buildString());  
   } // end main  
 } // end class ThisTest  
 // class SimpleTime demonstrates the "this" reference  
 class SimpleTime  
 {  
   private int hour; // 0 - 23  
   private int minute; // 0 - 59  
   private int second; // 0 - 59  
   // if the constructor uses parameter names identical to  
   // instance variable names the "this" reference is  
   // required to distinguish between the names  
   public SimpleTime (int hour, int minute, int second)  
   {  
     this.hour = hour; // set "this" object's hour  
     this.minute = minute; // set "this" object's minute  
     this.second = second; // set "this" object's second  
   } // end SimpleTime constructor  
   // use explicit and implicit "this" to call toUniversalString  
   public String buildString()  
   {  
     return String.format ("%24s: %s\n%24s: %s",  
       "this.toUniversalString()", this.toUniversalString(),  
       "toUniversalString()", toUniversalString());  
   } // end method buildString  
   // convert to String in universal-time format (HH:MM:SS)  
   public String toUniversalString()  
   {  
     // "this" is not required here to access instance variables,  
     // because method does not have local variables with same  
     // names as instance variables  
     return String.format ("%02d:%02d:%02d",  
       this.hour, this.minute, this.second);  
   } // end method toUniversalString  
 } // end class SimpleTime  
Hasil output adalah :

 this.toUniversalString(): 15:30:19  
 toUniversalString(): 15:30:19  


 /**  
  * Time2.java  
  * Time2 class declaration with overloaded constructors.  
  *  
  * Ari setyaji  
  * 28 February 2017  
  */  
 public class Time2  
 {  
   private int hour; // 0 - 23  
   private int minute; // 0 - 59  
   private int second; // 0 - 59  
   // Time2 no-argument constructor:  
   // initializes each instance variable to zer  
   public Time2()  
   {  
     this (0, 0, 0); // invoke Time2 constructor with three arguments  
   } // end Time2 no-argument constructor  
   // Time2 constructor: hour supplied, minute and second defaulted to 0  
   public Time2 (int h)  
   {  
     this (h, 0, 0); // invoke Time2 constructor with three arguments  
   } // end Time2 one-argument constructor  
   // Time2 constructor: hour and minute supplied, second defaulted to 0  
   public Time2 (int h, int m)  
   {  
     this (h, m, 0); // invoke Time2 constructor with three arguments  
   } // end Time2 two-argument constructor  
   // Time2 constructor: hour, minute and second supplied  
   public Time2 (int h, int m, int s)  
   {  
     setTime (h, m, s); // invoke setTime to validate time  
   } // end Time2 three-argument constructor  
   // Time2 constructor: another Time2 object supplied  
   public Time2 (Time2 time)  
   {  
     // invoke Time2 three-argument constructor  
     this (time.getHour(), time.getMinute(), time.getSecond());  
   } // end Time2 constructor with a Time2 object argument  
   // Set Methods  
   // Set a new time value using universal time;  
   // validate the data  
   public void setTime (int h, int m, int s)  
   {  
     setHour (h); // set the hour  
     setMinute (m); // set the minute  
     setSecond (s); // set the second  
   } // end method setTime  
   // validate and set hour  
   public void setHour (int h)  
   {  
     if (h >= 0 && h < 24)  
       hour = h;  
     else  
       throw new IllegalArgumentException ("hour must be 0 - 23");  
   } // end method setHour  
   // validate and set minute  
   public void setMinute (int m)  
   {  
     if (m >= 0 && m < 60)  
       minute = m;  
     else  
       throw new IllegalArgumentException ("minute must be 0 - 59");  
   } // end method setMinute  
   // validate and set second  
   public void setSecond (int s)  
   {  
     if (s >= 0 && s < 60)  
       second = ((s >= 0 && s < 60) ? s : 0);  
     else  
       throw new IllegalArgumentException ("second must be 0 - 59");  
   } // end method setSecond  
   // Get Methods  
   // get hour value  
   public int getHour()  
   {  
     return hour;  
   } // end method getHour  
   // get minute value  
   public int getMinute()  
   {  
     return minute;  
   } // end method getMinute  
   // get second value  
   public int getSecond()  
   {  
     return second;  
   } // end method getSecond  
   // convert to String in universal-time format (HH:MM:SS)  
   public String toUniversalString()  
   {  
     return String.format ("%02d:%02d:%02d", getHour(), getMinute(), getSecond());  
   } // end method toUniversalString  
   // convert to String in standard-time format (H:MM:SS AM or PM)  
   public String toString()  
   {  
     return String.format ("%d:%02d:%02d %s",  
       ((getHour() == 0 || getHour() == 12) ? 12 : getHour() % 12),  
       getMinute(), getSecond(), (getHour() < 12 ? "AM" : "PM"));  
   } // end method toString  
 } // end class Time2  


 /**  
  * Time2Test.java  
  * Overloaded constructors used to initialize Time2 objects.  
  *  
  * Ari Setyaji  
  * 28 February 2017  
  */  
 public class Time2Test  
 {  
   public static void main (String[] args)  
   {  
     Time2 t1 = new Time2(); // 00:00:00  
     Time2 t2 = new Time2(2); // 02:00:00  
     Time2 t3 = new Time2(21, 34); // 21:34:00  
     Time2 t4 = new Time2(12, 25, 42); // 12:25:42  
     Time2 t5 = new Time2(t4); // 12:25:42  
     System.out.println ("Constructed with:");  
     System.out.println ("t1: all arguments defaulted");  
     System.out.printf ("  %s\n", t1.toUniversalString());  
     System.out.printf ("  %s\n", t1.toString());  
     System.out.println ("t2: hour specified; minute and second defaulted");  
     System.out.printf ("  %s\n", t2.toUniversalString());  
     System.out.printf ("  %s\n", t2.toString());  
     System.out.println ("t3: hour and minute specified; second defaulted");  
     System.out.printf ("  %s\n", t3.toUniversalString());  
     System.out.printf ("  %s\n", t3.toString());  
     System.out.println ("t4: hour, minute and second specified");  
     System.out.printf ("  %s\n", t4.toUniversalString());  
     System.out.printf ("  %s\n", t4.toString());  
     System.out.println ("t5: Time2 object t4 specified");  
     System.out.printf ("  %s\n", t5.toUniversalString());  
     System.out.printf ("  %s\n", t5.toString());  
     // attempt to initialize t6 with invalid values  
     try  
     {  
       Time2 t6 = new Time2 (27,74,99); // invalid value  
     } // end try  
     catch (IllegalArgumentException e)  
     {  
       System.out.printf ("\nException while initializing t6: %s\n", e.getMessage());  
     } // end catch  
   } // end main  
 } // end class Time2Test  
Hasil output adalah :
 Constructed with:  
 t1: all arguments defaulted  
 00:00:00  
 12:00:00 AM  
 t2: hour specified; minute and second defaulted  
 02:00:00  
 2:00:00 AM  
 t3: hour and minute specified; second defaulted  
 21:34:00  
 9:34:00 PM  
 t4: hour, minute and second specified  
 12:25:42  
 12:25:42 PM  
 t5: Time2 object t4 specified  
 12:25:42  
 12:25:42 PM  
 Exception while initializing t6: hour must be 0-23  

Tidak ada komentar:

Posting Komentar