设计一个名为Time的类,这个类包含:表示时间的数据域hour,minute和second

221 阅读2分钟

不要自卑,去提升实力
互联网行业谁技术牛谁是爹
如果文章可以带给你能量,那是最好的事!请相信自己
加油o~

设计一个名为Time的类,这个类包含:

  • 表示时间的数据域hour,minute和second
  • 一个以当前时间创建Time对象的无参数构造方法(使用System.currentTimeMillis()获取当前时间)
  • 一个构造Time对象的构造方法,以一个指定的流逝时间值来构造Time对象,这个值从1970年1月1日午夜开始到现在流逝的以毫秒表示的值(数据域的值表示这个时间)
  • 以指定的小时、分钟、和秒来构造Time对象的构造方法 三个数据域hour,minute,second各自的获取方法
  • 一个名为setTime(long
    elapsedTime)的方法使用流逝的时间给对象设置一个新的时间。例如,如果流逝的时间是555550000毫秒,则转换为10小时,10分钟,10秒。提示:555550000
    转换的过程如下: totalSeconds = 555550000 / 1000; second = (int)(totalSeconds
    % 60);
    otalMinutes = totalSeconds / 60;
    minute = (int)(totalMinutes % 60);
    totalHours = (int)(totalMinutes / 60); hour = (int)(totalHours % 24); 一个名为setTime(int hour, int minute, int second)的方法给对象设置一个新的时间。
  • 定义名为toString()的方法,返回字符串类型,格式如下: return "Hour: " + this.hour + "
    Minute: " + this.minute + " Second: " + this.second;
  • 创建三个Time对象(使用new Time(),new Time(555550000)和new
    Time(3,80,3700)),然后显示它们的小时,分钟和秒

代码:

/**
 *作者:魏宝航
 * 2020年11月22日,下午15:27
 */
import javax.xml.crypto.dsig.spec.XSLTTransformParameterSpec;

public class test {
    public static void main(String[] args) {
        Time time1=new Time();
        Time time2=new Time(555550000);
        Time time3=new Time(3,80,3700);
        System.out.println(time1.toString());
        System.out.println(time2.toString());
        System.out.println(time3.toString());
    }
}
class Time{
    private long hour,minute,second;
    public Time(){
        setTime(System.currentTimeMillis());
    }
    public Time(long elapsedTime){
        setTime(elapsedTime);
    }
    public Time(long hour,long minute,long second){
        this.second=second%60;
        this.minute=(second/60+minute)%60;
        this.hour=(second/60+minute/60+hour)%60;
    }
    public void setTime(long elapsedTime){
        long totalSeconds = elapsedTime / 1000;
        second = (long)(totalSeconds % 60);
        long totalMinutes = totalSeconds / 60;
        minute = (long)(totalMinutes % 60);
        long totalHours = (int)(totalMinutes / 60);
        hour = (long)(totalHours % 24);
    }
    public void setTime(int hour,int minute,int second){
        this.hour=hour;
        this.minute=minute;
        this.second=second;
    }

    @Override
    public String toString() {
        return "Hour: " + this.hour + " Minute: " +  this.minute + " Second: " + this.second;
    }

}

以上代码仅供参考
以上代码仅供参考
以上代码仅供参考