java求时间相关的计算

定义一个时间类MyTime,实现时间(小时、分钟、秒)的输入、输出、相关计算、比较等功能。时间的计算包括但不限于:

时间相加:从t1时刻经过t2时间后得到的新时间;

时间相减:t1时刻的t2时间之前的时间,这也是一个新时间;(例如:10时34分之前50分钟的时间是什么)

两个MyTime时间对象之间的间距:运算结果单位为秒。

输出:格式为“时:分:秒”

定义主类MyTimeTest(OJ上提交时修改为Main),按照输入的时、分、秒分别创建两个时间类的对象t1与t1,输入m分或m时或m秒,输出t1+m、t1-m与t2-t1的运算结果。

说明1:两个字符串s1与s2比较是否相同,使用的是s1.equals(s2),若内容相同则返回true,否则返回false。

说明2:字符串s获取子串,String r=s.substring(begin,end),例如,s串为”123s“,则String s1=s.substring(s.length()-1); String s2=s.substring(0, s.length()-1); ,经过处理后,s1为”s”,s2为”123”。

说明3:将字符串s,s为”123”转换为整数123的方法是:int n=Integer.parseInt(s);

说明4:注意时、分、秒的取值范围

说明5:最后一行输入,小时用h表示、分钟用m表示、秒用s表示。
输入

三行,两组时间,一个时间间隔
输出

三行,计算后的两组时间,时间间隔
样例输入 Copy

16 25 35
13 20 30
80s
样例输出 Copy

16:26:55
16:24:15
-11105s
我写了一个但是有点问题不知道该怎么修改


import java.util.Scanner;
public class Main {
       public static void main(String[] args) {
           Scanner input=new Scanner(System.in);
           int a = input.nextInt();
           int b = input.nextInt();
           int c = input.nextInt();
           String s=null,s9="h",s8="m",s7="s";
           int x2=input.nextInt();
        int y2=input.nextInt();int z2=input.nextInt();
        s=input.nextLine();
        String s1=s.substring(s.length()-1); 
        String s2=s.substring(0, s.length()-1); 
        int n1=Integer.parseInt(s2); int n=0;
        if(s1.equals(s9))n=n1*3600;
        if(s1.equals(s8))n=n1*60;
        if(s1.equals(s2))n=n1;
           MyTime my = new MyTime(a,b,c);
           my.addSecond(n,my);
           my.subSecond(n,my);
           System.out.println(my.clock);
           System.out.println(my.minute);
           System.out.println(my.second);
           
           int w=0,q=0,e=0,r=0;
           q=a*3600+b*60+c;e=x2*3600+y2*60+z2;r=q-e;
           w=r;
           System.out.println(w+"s");
       }
   }
  
   class MyTime{    
       int clock,minute,second;
       public MyTime(int clock,int minute,int second){
           this.clock = clock;
           this.minute = minute;
           this.second = second;
       }
       public void display(int clock,int minute,int second){
           System.out.println(clock);
           System.out.println(minute);
           System.out.println(second);
       }
       public  void addSecond(int x,MyTime a){
               a.clock = a.clock+(x/3600);
               a.minute = a.minute+(x%3600)/60;
               a.second = a.second+(x%3600)%60;
       }
       public  void subSecond(int x,MyTime a){
            a.clock = a.clock-(x/3600);
            a.minute = a.minute-(x%3600)/60;
            a.second = a.second-(x%3600)%60;
    }
       
}
   


Hutool的DateUtil了解下