/*** 在程序中经常对时间进行操作但是没有时间类型的数据,那么我们可以自己实现一个时间类来满足程序中的需要。* 定义名为MyTime的类其中应有三个整形成员 时(hour)分(minute)秒(second),为了保证数据的安全性这三个成员变量应为私有。* 为MyTime类定义构造方法以便创建对象时初始化成员变量。在定义display()方法用于将时间信息打印出来。* 为MyTime类添加以下方法:* 加秒方法:addSecond(int sec)* 加分方法:addMinute(int min)* 加时方法:addHour(int hou)* 减秒方法:subSecond(int sec)* 减分方法:subMinute(int min)* 减时方法:subHour(int hou)* 分别对时分秒进行加减运算。*/
//这里主要锻炼的是:set方法用来修改对象属性的值,get方法是用来获取对象属性的值。
//测试类class MyTimeText{public static void main(String[] args) {//用有参数构造方法创建时间对象MyTime myTime = new MyTime(3,21,10);//打印时间信息myTime.display();//增加12000秒---->200分钟---->3小时20分myTime.addSecond(12000);myTime.display();MyTime myTime1 = new MyTime();myTime1.display();MyTime myTime2 = new MyTime(100,200,30);myTime2.display();}
}
/*
程序运行结果:10时21分3秒13时41分3秒0时0分0秒0时0分0秒
*/
//MyTime类
class MyTime{private int second;private int minute;private int hour;//加秒方法public void addSecond(int sec){//获取原有时间对象的秒数int oldSecond = getSecond();//在原秒数的基础之上加上增加的秒数,得到新秒数。int newSecond = oldSecond + sec;//判断新秒数if (newSecond < 60) {   //如果新秒数小于60秒//直接修改当前对象的秒数setSecond(newSecond);}else if (newSecond == 60){ //如果新秒数等于60//给当前对象的分钟数加1this.addMinute(1);//并且修改秒数为0setSecond(0);}else if (newSecond > 60){  //如果新秒数大于60//给当前对象的分钟数增加值为(newSecond / 60)addMinute(newSecond / 60);//修改秒数为(newSecond % 60)setSecond(newSecond % 60);}}//加分方法public void addMinute(int min){//获取当前时间对象的分钟数int oldMinute = getMinute();//在原有的分钟数基础上加上新增的分钟数,得到新的分钟数int newMinute = oldMinute + min;if (newMinute < 60){    //如果新的分钟数小于60//修改当前时间对象的分钟数为新的分钟数setMinute(newMinute);}else if (newMinute == 60){ //如果新的分钟数等于60//将当前时间对象的时钟数加1addHour(1);//并修改当前时间对象的分钟数为0setMinute(0);}else if (newMinute > 60){  //如果新的分钟数大于60//将当前时间对象的时钟数增加(newMinute / 60)addHour(newMinute / 60);//将当前时间对象的分钟数修改为(newMinute % 60)setMinute(newMinute % 60);}}//加时方法public void addHour(int hou){//获取当前时间对象的时钟数int oldHour = getHour();//在当前时间对象的时钟数上增加新增时钟数int newHour = oldHour + hou;if (newHour < 24){  //如果新时钟数小于24setHour(newHour);}else if (newHour == 24){   //如果新时钟数等于24//这里应该将日期增加1天(代码略)//修改时钟数为0setHour(0);}else if (newHour > 24){    //如果新时钟数大于24//将日期增加(newHour / 24)(略)//修改时钟数为(newHour % 24)setHour(newHour % 24);}}
//    天加1,年加1等就不再写了
//    秒减、分减、时减也不再写了
//    秒减public void subSecond(){//具体实现略}
//    分减public void subMinute(){//具体实现略}
//    时减public void subHour(){//具体实现略}
//    打印时减方法public void display(){System.out.println(getHour() + "时" + getMinute() + "分" + getSecond() + "秒");}
//    无参构造方法public MyTime() {this(0,0,0);}//    有参构造方法public MyTime(int second, int minute, int hour) {//如果给定的时间不正确,对时分秒赋默认值if (second >= 60 || second < 0 || minute >= 60 || minute < 0 || hour >= 24 || hour < 0 ){this.second = 0;this.minute = 0;this.hour = 0;}else {this.second = second;this.minute = minute;this.hour = hour;}}
//    set and get 方法public int getSecond() {return second;}public void setSecond(int second) {this.second = second;}public int getMinute() {return minute;}public void setMinute(int minute) {this.minute = minute;}public int getHour() {return hour;}public void setHour(int hour) {this.hour = hour;}
}

编写时间类代码(实现时分秒的增与减)相关推荐

  1. Java获取时间格式(年月日时分秒毫秒)

    Java中描述日期时间调用Date类型,该类型存储有时间的年月日.时分秒信息. Date系统时间是以 1970年0时0分0秒 开始计时. 其中: 需要获取的时间单位 格式 年 YYYY or yyyy ...

  2. 6-14 时间类 - 14. 完善时、分、秒的设置

    请修改时间类的设置时.分.秒的函数,若参数正确,则修改时间,否则时间不变. #include <iostream> #include <iomanip> using names ...

  3. 【转】微信小程序日期时间选择器(年月日时分秒)

    公司需要用到秒 但是小程序提供的只到分钟 vantui也只到分钟,真的是有问题啊 从网上找了一个试了试可以用如下: <picker mode="multiSelector" ...

  4. UIDatePicker得到的时间中怎么去掉时分秒(字符串操作知识拓展)--iOS开发

    项目里面用了UIDatePicker这个控件,但是只需要年月日就够了,一般显示生日的. 创建一个日期选择控件 datePicker = [[UIDatePicker alloc]initWithFra ...

  5. 【常用小知识】python time模块 当前时间 ---转换--> 年月日时分秒

    当前时间 -转换–> 年月日时分秒 import time# 定义一个转换函数,入参为当前时间time.time() def time_s_date(ts):dt = time.strftime ...

  6. 微信小程序 - 日期时间选择器(年月日时分秒)

    前言 您只需要跟着步骤一路复制粘贴,最后看一下使用示例即可. 由于微信官方的 <picker> 组件不支持同时选择年月日时分, 所以 在此官方组件上再次封装,可靠性毋庸置疑. 您将获得一个 ...

  7. php日期格式化年月日时分秒,js将当前时间格式化为年月日时分秒格式详解

    本文主要介绍了js将当前时间格式化为 年-月-日 时:分:秒主要是使用js的Date()对象,将系统当前时间格式化为年-月-日 时:分:秒,需要的朋友可以参考下,希望能帮助到大家. 利用js的Date ...

  8. layui时间怎么设置年月日时分秒_layui-laydate时间日历控件使用方法详解

    本文实例为大家分享了laydate时间日历控件的使用方法,供大家参考,具体内容如下 此控件可使用layui或者独立版的layDate,两者初始化有些不同 在 layui 模块中使用layui.code ...

  9. 根据时间格式字符串取出时分秒各自的数值

    这样的类似的需求,不要自己去写,应该使用工具类来完成,自己写可能考虑的不全面,有些错误. SimpleDateFormat sdf = new SimpleDateFormat("yyyy- ...

最新文章

  1. 周志华、张潼亲自辅导AI课程,DeeCamp 2019正式启动
  2. 你知道Spring Boot项目是怎么启动的吗?
  3. 吴恩达深度学习笔记5-Course2-Week1【深度学习的实用层面】
  4. java技术入门培训_入门java怎么自学?推荐谁的课程?
  5. 使用Microsoft Unity进行日志记录
  6. 验证用户输入的是不是中文名字 淘宝精品案例 元素样式设置的方式 链式编程
  7. Android Studio调试时遇见Install Repository and sync project的问题
  8. 联通5g接入点设置参数_联通5G 所向无前
  9. 安装Exchange2007邮件系统
  10. 计算机专业博士阶段研究方向,国内计算机专业博士研究方向
  11. 创宇区块链|重蹈覆辙?为何 DEUS 协议再受攻击?
  12. 网页使用中文字体的两种解决方案
  13. JavaScript 实现抢购倒计时,记录恋爱1314纪念日倒计时,输出对应的天数小时分钟秒数
  14. python大驼峰_匈牙利法、大小驼峰法(两种编程命名规则)
  15. 高尔顿钉板实验是二项分布吗?
  16. logstash 数据重复问题
  17. pytorch整理(三)
  18. Graphite简介
  19. ios- 地图路线规划
  20. 2018年度锦鲤已出! 抽中奖的重点是什么?

热门文章

  1. 看门狗ADM8323-8324使用心得
  2. Zabbix实战-简易教程--DB类--Pgsql(pg_monz介绍)
  3. 学习日记day29 平面设计 字体构图风格
  4. APPSO 视频号-空白昵称(全系统通用)
  5. Win10系统无法进入睡眠状态的解决
  6. 路由追踪命令Tracert
  7. IT人士必去的10个网站
  8. 《 线性代数及其应用 (原书第4版)》—— 2.7 计算机图形学中的应用
  9. Oracle数据库学习笔记(九)--scott用户
  10. layui页面返回顶部效果