「已注销」 2021-10-16 19:20 采纳率: 50%
浏览 65
已结题

尽可能简单的用Java完成火车票时间问题

img

img

  • 写回答

1条回答 默认 最新

  • 广大菜鸟 2021-10-16 20:37
    关注
    
    class MyTime{
        private int day;
        private int hour;
        private int minute;
    
        public MyTime(){
            this.hour=this.minute=this.minute=0;
        }
    
        public MyTime(int hour, int minute) {
            this.hour = hour;
            this.minute = minute;
        }
    
        //能计算两个时间的和
        public MyTime timeAdd(MyTime s) {
            MyTime result = new MyTime();
            int d,h,m;
            m = s.minute + this.minute;
            h = s.hour + this.hour + m / 60;
            d = s.day + this.day + h / 24;
            result.day = d;
            result.hour = h %24;
            result.minute = m % 60;
            return result;
        }
    
        //比较两个时间是否相同
        public boolean eguals(MyTime s){
            return this.day==s.day&&this.hour==s.hour&&this.minute==s.minute;
        }
    
        public String toCNString() {//按中文形式转化时间
         if(day>0)
            return  day+"天"+hour+"小时"+minute+"分钟";
         else
             return  hour+"小时"+minute+"分钟";
        }
    
        @Override
        public String toString() {
            if(day>0)
                return "+" + day+"天 "+hour+":"+minute;
            else
                return hour+":"+minute;
        }
    }
    
    public class Solution {
        public static void main(String[]args){
            /*
            在main方法中创建至少三组起始时间和运行时间,计算到达时间。
            输出效果例如:
            起始时间 运行时间 到达时间
            20:12 35小时10分钟 +2天07:22
             */
            MyTime m1, m2,m3;
    
            m1 = new MyTime(20,12);
            m2 = new MyTime(35, 10);
            m3 = m1.timeAdd(m2);
            System.out.println("起始时间\t运行时间\t到达时间");
            System.out.println(m1+" "+m2.toCNString()+" "+m3);
    
    
            m1 = new MyTime(20,12);
            m2 = new MyTime(50, 10);
            m3 = m1.timeAdd(m2);
            System.out.println("起始时间\t运行时间\t到达时间");
            System.out.println(m1+" "+m2.toCNString()+" "+m3);
    
            m1 = new MyTime(20,12);
            m2 = new MyTime(2, 10);
            m3 = m1.timeAdd(m2);
            System.out.println("起始时间\t运行时间\t到达时间");
            System.out.println(m1+" "+m2.toCNString()+" "+m3);
    
        }
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月16日
  • 已采纳回答 10月16日
  • 创建了问题 10月16日

悬赏问题

  • ¥15 freertos下使用外部中断失效
  • ¥15 输入的char字符转为int类型,不是对应的ascall码,如何才能使之转换为对应ascall码?或者使输入的char字符可以正常与其他字符比较?
  • ¥15 devserver配置完 启动服务 无法访问static上的资源
  • ¥15 解决websocket跟c#客户端通信
  • ¥30 Python调用dll文件输出Nan重置dll状态
  • ¥15 浮动div的高度控制问题。
  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论