java编写了24小时制的时间加减
2016-04-07 21:06
399 查看
1.对继承新的认识
当一个子类继承父类的属性时,当父类写过了一个带参数的构造方法,子类想调用父类的构造方法,必须加上一句super(属性参数1,属性参数2);而且必须放在第一位,否则编译器就会报错。子类也不必再重新写父类已有的属性,这大概也是继承的本质意思吧,当实例化子类的对象后,子类的对象就可以调用父类的属性的get,set方法,在写子类的构造方法时,加上子类的参数,加上super(属性参数1,属性参数2),就够可以了。代码见后。
2.我自己用java编写了24小时制的时间加减
加法方法思路:
1、首先计算秒,如果相加小于60,直接输出秒,如果大于了60,相加后的和-60即为秒的值,然后为(进位位)temp赋值1。
2、首先判断是否,(进位位)temp+(原来的分)minute+(加上要加的分)min 大于60,如果小于60,初始化temp = 0直接输出分,大于了就给temp= 1,减去60就是要输出的分。
3、在判断是否,,(进位位)temp+(原来的时)hour+(加上要加的时)hou 大于24,如果小于24,初始化temp = 0直接输出时,大于了就给temp= 1,减去24就是要输出的时。if temp= 1,则是第二天了!
减法思路:类似加法
当一个子类继承父类的属性时,当父类写过了一个带参数的构造方法,子类想调用父类的构造方法,必须加上一句super(属性参数1,属性参数2);而且必须放在第一位,否则编译器就会报错。子类也不必再重新写父类已有的属性,这大概也是继承的本质意思吧,当实例化子类的对象后,子类的对象就可以调用父类的属性的get,set方法,在写子类的构造方法时,加上子类的参数,加上super(属性参数1,属性参数2),就够可以了。代码见后。
2.我自己用java编写了24小时制的时间加减
加法方法思路:
1、首先计算秒,如果相加小于60,直接输出秒,如果大于了60,相加后的和-60即为秒的值,然后为(进位位)temp赋值1。
2、首先判断是否,(进位位)temp+(原来的分)minute+(加上要加的分)min 大于60,如果小于60,初始化temp = 0直接输出分,大于了就给temp= 1,减去60就是要输出的分。
3、在判断是否,,(进位位)temp+(原来的时)hour+(加上要加的时)hou 大于24,如果小于24,初始化temp = 0直接输出时,大于了就给temp= 1,减去24就是要输出的时。if temp= 1,则是第二天了!
减法思路:类似加法
public class MyTime { private int hour; private int minute; private int second; static int temp = 0; public static void main(String[] args) { MyTime myTime = new MyTime(50, 40, 3);//秒,分,时 System.out.println(myTime.getHour()+" 时 "+myTime.getMinute()+" 分 "+ myTime.getSecond()+" 秒 "); myTime.sub(20, 50, 13); System.out.println(myTime.getHour()+" 时 "+myTime.getMinute()+" 分 "+ myTime.getSecond()+" 秒 "); // myTime.add(20, 50, 13); // System.out.println(myTime.getHour()+" 时 "+myTime.getMinute()+" 分 "+ myTime.getSecond()+" 秒 "); } public void add(int sec,int min, int hou){ //打印时间 addSecond(sec); addMinute(min); addHour(hou); } public void sub(int sec,int min, int hou){ //打印时间 /* addSecond(sec); addMinute(min); addHour(hou);*/ subSecond(sec); subMinute(min); subHour(hou); } public MyTime(int sec, int min, int hou){ //构造方法 this.second = sec; this.minute = min; this.hour = hou; } //时间 加减 public int addSecond(int sec){ if((this.second+sec) / 60 == 0){ //判断秒相加是否大于60 this.second += sec; }else { //大于了 向分进位 temp= (second+sec)/60; second = (second+sec) % 60; } return second; } public int addMinute(int min){ if ((temp+minute+min) / 60 == 0 ) { //判断进位过的分 相加是否大于60 this.minute += min+temp; temp = 0; }else { //进位过的分 相加大于60,向时进位 temp= (temp+minute+min)/60; minute = (temp+minute+min) % 60; } return minute; } public int addHour(int hou){ if (temp+hour+hou>24) { //大于24小时, 进一天 hour =temp+hour+hou-24; System.out.println("第二天了"); }else { if ((temp+hou+hour) / 24 == 0) { //不大于24,相加小于24点 this.hour+=hou+temp; temp = 0; // }else { // temp= (temp+hour+hou)/24; // hour = (temp+hour+hou) % 24; } } return hour; } public int subSecond(int sec){ if (second - sec > 0) { second -= sec; }else { temp = 1; second = second+60-sec; } return second; } public int subMinute(int min){ if (temp==0) { if (minute>=min) { minute-=min; }else { temp = 1; minute = minute+60-min; } }else if (minute>min) { minute-=min-temp; temp=0; }else { minute = minute+60-min; temp = 2; } return minute ; } public int subHour(int hou){ if (temp==0) { if (hour>=hou) { hour-=hou; }else { temp = 1; hour = hour+24-hou; System.out.println("前一天"); } }else if (hour-temp>hou) { hour=hour-hou-temp; temp=0; }else { hour = hour+24-hou; temp = 2; System.out.println("前一天"); } return hour; } public int getHour() { return hour; } public void setHour(int hour) { this.hour = hour; } public int getMinute() { return minute; } public void setMinute(int minute) { this.minute = minute; } public int getSecond() { return second; } public void setSecond(int second) { this.second = second; } }
相关文章推荐
- Java类集笔记
- eclipse 简介
- Java Switch支持的类型问题
- springmvc bean初始化
- java中值传递问题
- Java 获取指定时间的前一天Date
- JAVA下载文件
- Java IO文件流
- JAVA 冒泡排序-个人理解
- web项目中javax.servlet.ServletExcecption: java.lang.ClassNotFoundException: com.mysql.jdb.Driver
- Java知识结构思维导图
- Spring MVC 原理小结
- myeclipse-10.7-offline-installer-windows安装图解及注意事项
- java forEach实现原理
- 关于JAVA IO流写文件数字乱码的问题
- 近期最久未使用页面淘汰算法———LRU算法(java实现)
- Java基础几个问题
- Java基础学习第五天——方法与数组
- Java并发编程:Callable、Future和FutureTask
- Java初涉之10--Java位运算