Question: Java Help! Design a class named Clock. The class contains private data fields for startTime and stopTime, a no argument constructor that initializes the startTime

Java Help!

Design a class named Clock. The class contains private data fields for startTime and stopTime, a no argument constructor that initializes the startTime to the current time, a method named start() that resets the startTime to the given time, a stop() method that sets the endTime to the given time and a getElapsedTime() method that returns the elapsed time in seconds. construct a Clock instance and return the elapsed time. Command line arguments should be used to send the start and end times. You should use the java.time classes.

Here is sample run: java TestClock 11:45:12 11:48:13 Elapsed time in seconds is: 181

My professor looked at my following code and said : ask the user to press a key that will place the computer time into the start variable and then ask the user to wait some time and then have him press a key and at that point the same method will get the new current time in the computer and assign it to the end variable. With the two different times of start and end, you should be able to use your getElapsedTime () method to work."

He wants some interactive code where the user is prompted as asked.

My Code:

import java.time.LocalTime;// Makes the LocalTime class visible import java.time.Duration;// Makes the Duration class visible

/** * * @author */ public class Homework4 {//program name public class Clock { private LocalTime startTime;//start time private LocalTime stopTime;//stop time public Clock() { // gets the current time from the system clock in the default time-zone startTime = LocalTime.now();

}//end Clock public void start(String start) {//sets start time String[] time = start.split(":");// split Hours, minutes, seconds startTime = LocalTime.of(Integer.parseInt(time[0]),Integer.parseInt(time[1]) ,Integer.parseInt(time[2]));//set the start time }//end start method public void stop(String stop) {//sets stop time String[] time = stop.split(":");// split Hours, minutes, seconds stopTime = LocalTime.of(Integer.parseInt(time[0]),Integer.parseInt(time[1]) ,Integer.parseInt(time[2]));//set the stop time }//end stop method public long getElapsedTime() {//getElapsedTime method long expired = Duration.between(startTime,stopTime).getSeconds();//find the duration between the given two times System.out.println( startTime + " " + stopTime);//print start and stop times return expired;//returns expired time }//end getElapsedTime }//end class Clock /** * @param args the command line arguments */ public static void main(String[] args) {//begin main program String startTime = "11:45:12";//start time String endTime = "11:48:13";//stop time Clock clock = new Clock();// create Clock instance

clock.start(startTime);//call start method clock.stop(endTime);//call end method long elapseTime = clock.getElapsedTime(); System.out.println("Elapsed time in seconds is " + elapseTime);//print elapsed time

}//end main }//end Homework4 class

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!