Wu1518284 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 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值