Question: Design a class named Time. The class contains:??The data fields?hour,?minute, and?second?that represent a time.? A no-arg constructor that creates a Time object for the current
Design a class named Time. The class contains:??The data fields?hour,?minute, and?second?that represent a time.? A no-arg constructor that creates a Time object for the current time. (The values of the data fields will represent the current time.)? A constructor that constructs a Time object with a specified elapsed time since midnight, January 1, 1970, in milliseconds. (The values of the data fields will represent this time.)? A constructor that constructs a Time object with the specified hour, minute, and second.? Three getter methods for the data fields hour, minute, and second, respectively.? A method named setTime(long elapseTime) that sets a new time for the object using the elapsed time. For example, if the elapsed time is 555550000 milliseconds, the hour is 10, the minute is 19, and the second is 10.Draw the UML diagram for the class and then implement the class. Write a test program that creates two Time objects (using new Time() and new Time(555550000)) and displays their hour, minute, and second in the format hour:minute:second.
Listing
![1 public class ShowCurrentTime { 2 3 4 public static void main(String[]](https://dsd5zvtm8ll6.cloudfront.net/si.experts.images/questions/2022/11/636a72d34cb56_595636a72d33cd3c.jpg)


Line 4 invokes?System.currentTimeMillis()?to obtain the current time in milliseconds as a?long?value. Thus, all the variables are declared as the long type in this program. The seconds, minutes, and hours are extracted from the current time using the?/?and?%?operators (lines 6?22).

1 public class ShowCurrentTime { 2 3 4 public static void main(String[] args) { // Obtain the total milliseconds since midnight, Jan 1, 1970 long totalMilliseconds = System.currentTimeMillis(); 5 // Obtain the total seconds since midnight, Jan 1, 1970 long totalSeconds = totalMilliseconds / 1000; // Compute the current second in the minute in the hour long currentSecond totalSeconds % 60; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 } // Obtain the total minutes long totalMinutes = totalSeconds / 60; // Compute the current minute in the hour long currentMinute = totalMinutes % 60; // Obtain the total hours long totalHours = totalMinutes / 60; // Compute the current hour long currentHour = totalHours % 24; // Display results System.out.println("Current time is " + currentHour + ":" + currentMinute + ":" + currentSecond + " GMT");
Step by Step Solution
3.36 Rating (159 Votes )
There are 3 Steps involved in it
Program Plan Define a Time class o Declare the class variables hours minutes and seconds as integers ... View full answer
Get step-by-step solutions from verified subject matter experts
