Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Java programming--- (The Time class) Design a class named Time. The class contai

ID: 654580 • Letter: J

Question

Java programming---

(The Time class) 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. (Hint: The first two constructors will extract the hour, minute, and second from the elapsed time. For the no-arg constructor, the current time can be obtained using System.currentTimeMillis(), as shown in Listing 2.7, ShowCurrentTime.java.)

Explanation / Answer

answers

Try the class below for starters.

class Time {

private long hours;
private long minutes;
private long seconds;

public Time()
{
setTimeMilliseconds(System.currentTimeMillis());
}

public Time(long h, long m, long s)
{
hours = h;
minutes = m;
seconds = s;
}

public Time(long elapsedTime)
{
setTimeMilliseconds(elapsedTime);
}

public void setTimeMilliseconds(long mTime)
{
mTime /= 1000; // convert to seconds

// determine how many days since epoch
long days = mTime / (24*60*60);
mTime = mTime % (24*60*60);

// determine how many hours for time
hours = mTime / (60*60);
mTime = mTime % (60*60);

// determine how many minutes
minutes = mTime / 60;

// determine how many seconds
seconds = mTime % 60;
}

public void setTime(long elapsedTime)
{
elapsedTime /= 1000; // convert to seconds
hours += elapsedTime / (60 * 60);
elapsedTime = elapsedTime % (60*60);

minutes += elapsedTime / (60);
elapsedTime = elapsedTime % (60);

seconds += elapsedTime;
}


public long getHour()
{
return hours;
}

public long getMinutes()
{
return minutes;
}

public long getSeconds()
{
return seconds;
}

public void print()
{
System.out.println(hours + ":" + minutes + ":" + seconds);
}
};

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote