Problem 4.16

 

Question 4.16: Write a Java class Clock for dealing with the day time represented by hours, minutes, and
seconds. Your class must have the following features:
• Three instance variables for the hours (range 0 - 23), minutes (range 0 - 59), and
seconds (range 0 - 59).
• Three constructors:
o default (with no parameters passed; is should initialize the represented time to
12:0:0)
o a constructor with three parameters: hours, minutes, and seconds.
o a constructor with one parameter: the value of time in seconds since midnight (it should be converted into the time value in hours, minutes, and seconds)
• Instance methods:
o a set-method method setClock() with one parameter seconds since midnight (to be converted into the time value in hours, minutes, and seconds as above).
o get-methods getHours(), getMinutes(), getSeconds() with no parameters that return the corresponding values.
o set-methods setHours(), setMinutes(), setSeconds() with one parameter each that set up the corresponding instance variables.
o method tick() with no parameters that increments the time stored in a Clock object by one second.
o method addClock() accepting an object of type Clock as a parameter. The method should add the time represented by the parameter class to the time represented in the current class.
o Add an instance method toString() with no parameters to your class. toString() must return a String representation of the Clock object in the form "(hh:mm:ss)", for example "(03:02:34)".
o Add an instance method tickDown() which decrements the time stored in a Clock object by one second.
o Add an instance method subtractClock() that takes one Clock parameter and returns the difference between the time represented in the current Clock object and the one represented by the Clock parameter. Difference of time should be returned as an clock object.
Write a separate class ClockDemo with a main() method. The program should:
• instantiate a Clock object firstClock using one integer seconds since midnight obtained
from the keyboard.
• tick the clock ten times by applying its tick() method and print out the time after each
tick.
• Extend your code by appending to it instructions instantiating a Clock
object secondClock by using three integers (hours, minutes, seconds) read from the
keyboard.
• Then tick the clock ten times, printing the time after each tick.
• Add the secondClock time in firstClock by calling method addClock.
• Print both clock objects calling toString method
Create a reference thirdClock that should reference to object of difference of firstClock
and secondClock by calling the method subtractClock().















































































































Solution:



package com.company;

import jdk.swing.interop.SwingInterOpUtils;

import static java.awt.PageAttributes.MediaType.C1;

public class lab4problem16 {

    public static void main(String[] args) {
        Clock C1 = new Clock();

        C1.setHoure(7);
        C1.getHoure();
        C1.setMinutes(20);

       C1.getMinutes();
        C1.setSeconds(30);
       C1.getSeconds();
        System.out.println(C1);
        Clock C2 = new Clock();

        C2.setHoure(0);
        C2.getHoure();
        C2.setMinutes(0);

        C2.getMinutes();
        C2.setSeconds(30);
        C2.getSeconds();


        System.out.println(C2);
        Clock C3 = new Clock;

        C3.setSeconds(30);
        C3.getSeconds();
        System.out.println(C3);
    }
}
public class Clock {
    private int houre;
    private int minutes;
    private int seconds;

    Clock(int h, int m, int s){
        houre = h;
        minutes = m;
        seconds = s;

        public void setHoure(int h){
            houre = h;
        }
        public int getHoure()
        {
            return houre;
        }
        public void setMinutes(int m){
            minutes = m;
        }
        public int getMinutes()
        {
            return minutes;
        }
        public  void setSeconds(int s){
            seconds = s;
        }
        public int getSeconds()
        {
            return seconds;
        }
    }
    Clock(int s){
     seconds = s;

    }
    Clock(){

    }
    public void setHoure(int h){
        houre = h;
    }
    public int getHoure()
    {
        return houre;
    }
    public void setMinutes(int m){
        minutes = m;
    }
    public int getMinutes()
    {
        return minutes;
    }
    public  void setSeconds(int s){
        seconds = s;
    }
    public int getSeconds()
    {
        return seconds;
    }
        public String toString(){
        return "Time : " + houre +":" +minutes+":"+seconds;
        }









Previous Post Next Post