Concept explainers
(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 then implement the class. Write a test
(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, ShowCuncntTime.java. Assume the time is in GMT.)
Program to print the current time with required data fields
Program Plan:
- Define the required public class.
- Define the main function in the class using public static void main(String[] args).
- Create the object to the class and pass the arguments.
- Print the data field using System.out.println() .
- Close the main function.
- Define the main function in the class using public static void main(String[] args).
- Close the public class definition.
- Define the required class.
- Define the integers
- Declare the public function.
- Define the setter method.
- Pass the arguments to the public function.
- Define the getter method.
- Define the void function.
- Compute the data fields.
- Close the main function.
- Close the public class definition.
Program Description:
The following java program has the class named Time and shows the current time with the data fields hour, minute and second respectively.
Explanation of Solution
Program:
//Class definition
public class Time {
//Define main function
public static void main(String[] args) {
//Create object to the class and assign the arguments
MyTime time1 = new MyTime();
//Print the data field
System.out.println(time1.getHour() + ":" +
time1.getMinute() + ":" + time1.getSecond());
//Create object to the class and assign the arguments
MyTime time2 = new MyTime(555550000);
//Print the data field
System.out.println(time2.getHour() + ":" +
time2.getMinute() + ":" + time2.getSecond());
//Create object to the class and assign the arguments
MyTime time3 = new MyTime(5, 23, 55);
//Print the data field
System.out.println(time3.getHour() + ":" +
time3.getMinute() + ":" + time3.getSecond());
}
}
//Class definition
class MyTime {
//Define the integer
private int hour;
private int minute;
private int second;
//Declare public function
public MyTime() {
this(System.currentTimeMillis());
}
//Declare public method
public MyTime(long elapsedTime) {
//Define setter method
setTime(elapsedTime);
}
//Pass the arguments to the public function
public MyTime(int hour, int minute, int second) {
this.hour = hour;
this.minute = minute;
this.second = second;
}
//Define getter method
public int getHour() {
return hour;
}
//Define getter method
public int getMinute() {
return minute;
}
//Define getter method
public int getSecond() {
return second;
}
//Define void function
public void setTime(long elapsedTime) {
// Obtain the total seconds since the midnight, Jan 1, 1970
long totalSeconds = elapsedTime / 1000;
// Compute the current second in the minute in the hour
second = (int)(totalSeconds % 60);
// Obtain the total minutes
long totalMinutes = totalSeconds / 60;
// Compute the current minute in the hour
minute = (int)(totalMinutes % 60);
// Obtain the total hours
int totalHours = (int)(totalMinutes / 60);
// Compute the current hour
hour = (int)(totalHours % 24);
}
}
17:57:23
10:19:10
5:23:55
Want to see more full solutions like this?
Chapter 10 Solutions
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
Additional Engineering Textbook Solutions
Web Development and Design Foundations with HTML5 (9th Edition) (What's New in Computer Science)
Computer Science: An Overview (12th Edition)
Starting Out with C++: Early Objects (9th Edition)
Java How to Program, Early Objects (11th Edition) (Deitel: How to Program)
Database Concepts (8th Edition)
Web Development and Design Foundations with HTML5 (8th Edition)
- Do all please. (a) Provide an example of a constructor method being overridden? (b) Describe Dynamic Binding as related to Class loading? (c) What is the role of a class loader? (d) What are two benefits of the Bytecode verification system?arrow_forwardWhat are the three things that you are required to perform for classes that include member variables that are pointers?arrow_forwardC++ please, Specify, design, and implement a class that can be used in a program that simulates a combination lock. The lock has a circular knob, with the numbers 0 through 39 marked on the edge, and it has a three-number combination, which we'll call x, y, z. To open the lock, you must turn the knob clockwise at least one entire revolution, stopping with x at the top; then turn the knob counter-clockwise; stopping the second time that y appears at the top; finally turn the knob clockwise again, stopping the next time the z appears at the top. At this point the lock will be open. Your lock class should have a constructor that initializes the three-number combination (use 0,0,0 for default arguments). Also provide member functions: a. To alter the lock's combination b.To turn the knob in a given direction until a specified number appears on top c. To close the lock d. To attempt to open the lock e. To inquire the status of the lock (open or shut) f. To tell you what number is currently…arrow_forward
- same function which prints "Rectangle is a polygon" and "Triangle is a polygon" respectively. Again, make another class named Square having the same function which prints "Square is a rectangle". Now, try calling the function by the object of each of these classes.arrow_forwardBriefly explain reference parameterarrow_forwardstrictly use provide template for solution provided at end of a question. -------------------------------------------- Write a program to calculate the total reward points.Strictly adhere to the Object-Oriented specifications given in the problem statement. All class names, member variable names, and function names should be the same as specified in the problem statement.A class VISACard has the following attributes. Access Specifiers Data type Variable protected string type protected double amount private int rewardPercentage Include the following method in VISACard class. Method Description public void ComputeRewardPoints() In this method, calculate and display the reward pointsbased on rewardPercentage in amount Formula:Reward points = amount * (rewardPercentage / 100)A derived class HPVISACard derived from VISACard class and overrides the following method. Method Description public void ComputeRewardPoints() In this method, calculate the reward point.3% of…arrow_forward
- Problem 1: Java programComplete the Clothing class, the class should have the following instance variables, constructor(s) and instance methods:- An instance variable of type double named price.- An instance variable of type String named type.- An instance variable of type String named size.- A default “no-arg” constructor that sets the price to 29.9, the type to “TShirt” and the size to “Medium”. - An overloaded constructor that takes three parameters and set the instance variables accordingly. - A method named increasePrice that takes no parameters and returns no value, the method increases the instance variable price by 5.- An overloaded method increasePrice that takes a double parameter xand returns no value, the method increases the instance variable price by the value of parameter x.- A method named details which takes no parameters, returns no value, the method prints the Clothing item details in the format shown in the sample output.- Your output should look exactly the same…arrow_forwardcan someone help me with this problem in C++ In this exercise, you will work with 3 classes: Shape, Triangle and Rectangle. The first class is the class Shape. The Shape class has two float type properties: center_x and center_y. The Shape class also has the following methods: a constructor Shape(), that will set center_x and center_y to zero. set/get functions for the two attributes 1) You need to implement two additional functions for Shape: setCenter(float x, float y), that will set the new center and print: Figure moved to [<center_x>, <center_y>] draw(), that will print: Drawing Figure at [<center_x>, <center_y>] 2) You will have to implement another class, called Triangle, which inherits from the Shape class. The Triangle class has one int attribute: side. The Triangle class has the following methods: a constructor that will receive one int parameters (side) set/get for its attribute setCenter(float x, float y), that will set the new center and…arrow_forward8. What is the difference between equals() and method and == operator?.arrow_forward
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning