精华内容
下载资源
问答
  • 编程练习:定义一个表示时间类Time
    千次阅读 多人点赞
    2019-09-23 20:16:10

    定义一个表示时间的类Time ,它提供下面操作:
    a)Time(hours,minutes,seconds)创建一个对象;
    b) t.hours(),t.minutes(),t.seconds()分别 返回时间对象t的小时,分钟和秒值;
    c)为Time对象定义加法和减法操作
    d)定义时间对象的等于和小于关系运算

    代码示例:

    class Time:
        def __init__(self,hours,minutes,seconds):
            self.hours = hours
            self.minutes = minutes
            self.seconds = seconds
        def hours(self):
            return self.hours
    
        def minutes(self):
            return self.minutes
    
        def seconds(self):
            return self.seconds
    
        def __add__(self,another):
            hours = ((self.hours*3600 + self.minutes*60 + self.seconds + another.hours*3600 + another.minutes*60 + another.seconds)//3600)
            minutes = ((self.hours*3600 + self.minutes*60 + self.seconds + another.hours*3600 + another.minutes*60 + another.seconds - 3600*hours)//60)
            seconds = (self.hours*3600 + self.minutes*60 + self.seconds + another.hours*3600 + another.minutes*60 + another.seconds - 60*minutes - 3600*hours)
            return Time(hours,minutes,seconds)
    
        def __sub__(self,another):
            hours = ((self.hours*3600 + self.minutes*60 + self.seconds - another.hours*3600 - another.minutes*60 - another.seconds)//3600)
            minutes = ((self.hours*3600 + self.minutes*60 + self.seconds - another.hours*3600 - another.minutes*60 - another.seconds - 3600*hours)//60)
            seconds = (self.hours*3600 + self.minutes*60 + self.seconds - another.hours*3600 - another.minutes*60 - another.seconds - 60*minutes - 3600*hours)
            return Time(hours,minutes,seconds)
    
        def __eq__(self,another):
            return self.hours*3600 + self.minutes*60 + self.seconds == another.hours*3600 + another.minutes*60 + another.seconds
    
        def __lt__(self,another):
            return self.hours*3600 + self.minutes*60 + self.seconds < another.hours*3600 + another.minutes*60 + another.seconds
    
        def print(self):
            print(self.hours,"h",self.minutes,"m",self.seconds,"s")
    
    t1 = Time(1,20,33)
    t2 = Time(2,25,47)
    t3 = t2 - t1
    t4 = t2 + t1
    t3.print()
    t4.print()
    
    更多相关内容
  • 设计一个名为Time,这个类包含: 表示时间数据hourminute和second 一个以当前时间创建Time对象的无参数构造方法(使用System.currentTimeMillis()获取当前时间一个构造Time对象的构造方法,以一个指定...

    不要自卑,去提升实力
    互联网行业谁技术牛谁是爹
    如果文章可以带给你能量,那是最好的事!请相信自己
    加油o~

    设计一个名为Time的类,这个类包含:

    • 表示时间的数据域hour,minute和second
    • 一个以当前时间创建Time对象的无参数构造方法(使用System.currentTimeMillis()获取当前时间)
    • 一个构造Time对象的构造方法,以一个指定的流逝时间值来构造Time对象,这个值从1970年1月1日午夜开始到现在流逝的以毫秒表示的值(数据域的值表示这个时间)
    • 以指定的小时、分钟、和秒来构造Time对象的构造方法 三个数据域hour,minute,second各自的获取方法
    • 一个名为setTime(long
      elapsedTime)的方法使用流逝的时间给对象设置一个新的时间。例如,如果流逝的时间是555550000毫秒,则转换为10小时,10分钟,10秒。提示:555550000
      转换的过程如下: totalSeconds = 555550000 / 1000; second = (int)(totalSeconds
      % 60);
      otalMinutes = totalSeconds / 60;
      minute = (int)(totalMinutes % 60);
      totalHours = (int)(totalMinutes / 60); hour = (int)(totalHours % 24); 一个名为setTime(int hour, int minute, int second)的方法给对象设置一个新的时间。
    • 定义名为toString()的方法,返回字符串类型,格式如下: return "Hour: " + this.hour + "
      Minute: " + this.minute + " Second: " + this.second;
    • 创建三个Time对象(使用new Time(),new Time(555550000)和new
      Time(3,80,3700)),然后显示它们的小时,分钟和秒

    代码:

    /**
     *作者:魏宝航
     * 2020年11月22日,下午15:27
     */
    import javax.xml.crypto.dsig.spec.XSLTTransformParameterSpec;
    
    public class test {
        public static void main(String[] args) {
            Time time1=new Time();
            Time time2=new Time(555550000);
            Time time3=new Time(3,80,3700);
            System.out.println(time1.toString());
            System.out.println(time2.toString());
            System.out.println(time3.toString());
        }
    }
    class Time{
        private long hour,minute,second;
        public Time(){
            setTime(System.currentTimeMillis());
        }
        public Time(long elapsedTime){
            setTime(elapsedTime);
        }
        public Time(long hour,long minute,long second){
            this.second=second%60;
            this.minute=(second/60+minute)%60;
            this.hour=(second/60+minute/60+hour)%60;
        }
        public void setTime(long elapsedTime){
            long totalSeconds = elapsedTime / 1000;
            second = (long)(totalSeconds % 60);
            long totalMinutes = totalSeconds / 60;
            minute = (long)(totalMinutes % 60);
            long totalHours = (int)(totalMinutes / 60);
            hour = (long)(totalHours % 24);
        }
        public void setTime(int hour,int minute,int second){
            this.hour=hour;
            this.minute=minute;
            this.second=second;
        }
    
        @Override
        public String toString() {
            return "Hour: " + this.hour + " Minute: " +  this.minute + " Second: " + this.second;
        }
    
    }
    
    

    以上代码仅供参考
    以上代码仅供参考
    以上代码仅供参考

    展开全文
  • 定义time类私有成员变量包括hour、min、sec(int型)。公有成员函数(显示定义):1.带默认参数的构造函数。2.更改成员变量值的函数。3.友元函数addSecond(Time &t)。4.友元B(B中公有成员变量为time类...

    定义time类,私有成员变量包括:hour、min、sec(int型)。公有成员函数(显示定义):1.带默认参数的构造函数。2.更改成员变量值的函数。3.友元函数addSecond(Time &t)。4.友元类B(B类中公有成员变量为time类的对象以及公有输出成员函数display()).

    主函数:创建一个time类对象t(构造函数初始化),利用友元函数addSecond(int s)增加100秒;在堆内存中创建一个B类对象并用指针指向它,将对象t的值赋值给B类对象的数据成员,利用友元类B的成员函数输出t对象中各成员变量值。

     

     

     

    定义Time类,使用友元函数addsecond和友元类B,其中addsecond形参为引用

    #include<iostream>
    using namespace std;
    class Time
    {
        int hour,minu,sec;
    public:
        Time(int h=0,int m=0,int s=0):hour(h),minu(m),sec(s){}
        friend void addsecond(Time &t);
        friend class B;
    };

    友元类B

    class B
    {
        public:
        Time t;
       B(Time m):t(m){}
        void display()
        {
            cout<<t.hour<<"时"<<t.minu<<"分"<<t.sec<<"秒"<<endl;
        }
    };

    友元函数addsecond,作用为加100秒,加完秒数在100到159之间,分钟数只能变化一分钟或两分钟,小时数只能变化一

    void addsecond(Time &t)
    {
        t.sec=t.sec+100;//加100秒
        if(t.sec>=100&&t.sec<120)//如果加完100秒后秒数在100到120之间,那么秒数减60,并且分钟加一
        {
            t.sec=t.sec-60;
            t.minu=t.minu+1;
        }
        else//加完后大于120,那么分钟数加二,秒数减120
            {
            t.sec=t.sec-120;
            t.minu=t.minu+2;
    
        }
    
        if(t.minu>=60)//分钟数大于60的时候,分钟数减60,小时加一
            {
                t.minu=t.minu-60;
                t.hour=t.hour+1;
            }
         if(t.hour>=24)//如果过了24小时,那么小时减24
            t.hour=t.hour-24;
    }

    主函数进行初始化赋值,显示时间

    main()
    {
        Time t(12,59,41);
        addsecond(t);
        B b(t);
        b.display();
    }
    

    完整代码

    #include<iostream>
    using namespace std;
    class Time
    {
        int hour,minu,sec;
    public:
        Time(int h=0,int m=0,int s=0):hour(h),minu(m),sec(s){}
        friend void addsecond(Time &t);//引用
        friend class B;
    };
    class B
    {
        public:
        Time t;
       B(Time m):t(m){}
        void display()
        {
            cout<<t.hour<<"时"<<t.minu<<"分"<<t.sec<<"秒"<<endl;
        }
    };
    void addsecond(Time &t)
    {
        t.sec=t.sec+100;//加100秒
        if(t.sec>=100&&t.sec<120)//如果加完100秒后秒数在100到120之间,那么秒数减60,并且分钟加一
        {
            t.sec=t.sec-60;
            t.minu=t.minu+1;
        }
        else//加完后大于120,那么分钟数加二,秒数减120
            {
            t.sec=t.sec-120;
            t.minu=t.minu+2;
    
        }
    
        if(t.minu>=60)//分钟数大于60的时候,分钟数减60,小时加一
            {
                t.minu=t.minu-60;
                t.hour=t.hour+1;
            }
         if(t.hour>=24)//如果过了24小时,那么小时减24
            t.hour=t.hour-24;
    }
    main()
    {
        Time t(12,59,41);
        addsecond(t);
        B b(t);
        b.display();
    }
    

     

    展开全文
  • (1)在主函数中,建立一个时间类的对象,设置时间为9点20分30秒显示该时间。 (2)使用构造函数代替上面的SetTime成员函数,在主函数中使用构造函数设置时间为10点40分50秒,显示该时间。 (3)重载时间类...

            (1)在主函数中,建立一个时间类的对象,设置时间为9点20分30秒并显示该时间。

      (2)使用构造函数代替上面的SetTime成员函数,并在主函数中使用构造函数设置时间为10点40分50秒,并显示该时间。

      (3)重载时间类的构造函数(不带参数)使小时、分、秒均为0。

      (4)在时间类的析构函数中输出"Good bye!”

      (5)定义拷贝构造函数并调用。

    #include <iostream>


    using namespace std;
    class time
    {
        private:
            int Hour,Minute,Second;
        public:
            time(int a,int b,int c);
            time();
            time(time&copytime);
            ~time();
            Settime(int a,int b,int c)
            {
                Hour=a;
                Minute=b;
                Second=c;
            }
            PrintTime()
            {
                cout<<"Hour:"<<Hour<<endl;
                cout<<"Minute:"<<Minute<<endl;
                cout<<"Second:"<<Second<<endl;
            }


    };
    time::time(int a,int b,int c)
    {
        Hour=a;
        Minute=b;
        Second=c;
    }
    time::time()
    {
        Hour=0;
        Minute=0;
        Second=0;
    }
    time::time(time&copytime)
    {
        Hour=copytime.Hour;
        Minute=copytime.Minute;
        Second=copytime.Second;
    }
    time::~time()
    {
        cout<<"Good bye!"<<endl;
    }
    int main()
    {
        time A;
        A.Settime(9,20,30);
        A.PrintTime();              //在主函数中,建立一个时间类的对象,设置时间为9点20分30秒并显示该时间




        time B(10,40,50);
        B.PrintTime();            //使用构造函数代替上面的SetTime成员函数,并在主函数中使用构造函数设置时间为10点40分50秒,并显示该时间。


        time C;
        C.PrintTime();          //重载时间类的构造函数(不带参数)使小时、分、秒均为0。


        time D(10,20,30);
        time E(D);


        D.PrintTime();
        E.PrintTime();              //定义拷贝构造函数并调用。






    }

    展开全文
  • 2-2 Time类的定义_JAVA

    2020-10-28 16:06:42
    设计一个时间类Time私有数据成员hour(时)、minute(分)、second(秒); 公有成员函数有:setHour(int)设置数据成员hour的值(采用12小时制),非法的输入默认为12;setMinue(int)设置数据成员minute的值,非法输入...
  • (1)包含时(hour)、分(minute)和秒(second)私有数据成员。 (2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载关于一时间减去另一时间的减加运算符-、重载输出运算符<<与输入运算符>>...
  • 定义一个时间类,该类包含时分秒三个int属性; 定义相应的构造方法,初始化三个属性; 为该类添加两个公共方法实现时间的加、减; public MyTime add(MyTime other) public MyTime sub(MyTime other) 另外,还定义...
  • /*设计一个日期类Date,包括年、月、日等私有成员。要求实现日期的基本运算,例如某...实现要求:实现运算符加与减的重载设计一个时间类,要求能够在时间类上实行以分钟为单位的加减运算,同时当分钟增或减的变化...
  • 2021.05.15时间类TIME

    2021-05-15 15:27:32
    设计一个时钟类TIME,内含数据成员hourminute,second表示时间成员函数set( )设置时间数据,show( )显示时间数据。 重载运算符 ++和-- (具有返回值),每执行一次++,second自增1,执行一次–,second自减1。 ...
  • 那么我们可以自己实现一个时间类来满足程序中的需要。 定义名为MyTime的类其中应有三个整型成员hourminute秒second 为了保证数据的安全性这三个成员变量应声明私有。 为MyTime类定义构造方法以方便创建对象时...
  • 1 、定义一个时间类Time,有三个私有成员变量HourMinute、Second,定义构造函数、析构函数以及用于改变、获取、输出时间信息的公有函数,主函数中定义时间对象,通过调用各种成员函数完成时间的设定、改变、获取...
  • 设计一个名为Time

    2021-05-25 17:11:29
    设计一个名为 Time。这个类包含: • 表示时间数据hourminute 和 second。 • 一个以当前时间创建 Time 对象的无参构造方法(数据域的值表示当前时间)。 • 一个构造 Time 对象的...
  • (1)设计时间显示函数show(self) (2)设计两个时间大小比较函数compare(self,t),其中t是另外一个时间
  • public class MyTime {private int hour; //时private int minute;... //秒public MyTime(){}public MyTime(int hour,int minute,int second){this.hour = hour;this.minute = minute;this.second...
  • class Clock { public: void change_time()//更改时间板块 { int i = 0, j = 0, k = 0; while (true) { cout 请输入时分秒,使用空格隔开" ; cin >> i; cin >> j; cin >> k; if (i > =0 && j < 60 && k < 60 && j>=0...
  • 2-2 Time类的定义

    2017-11-29 08:45:16
    2-2 Time类的定义 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic ...设计一个时间类Time私有数据成员hour(时)、minute(分)、second(秒); 公有成员函数有:setHour(int)
  • 定义一个时间类,其中有三个私有整型成员hourminute秒second,定义构造方法以方便创建对象时初始化成员变量。 再定义diaplay方法用于将时间信息打印出来。定义成员方法分别对时、分、秒进行加减运算,保证运算后...
  • * 定义时钟Clock,有成员变量hourminute,second * 有成员方法settime可用于时间设置 * gettime可以输出时间 * */ public class Clock { int hour,minute,second; void settime(int a,int b,int c) { ...
  • 时间类Time的编写

    千次阅读 2020-05-07 16:25:50
    编写一个程序,定义一个时间类Time,包含三个属性: hour, minute 和 second 要求通过运算符重载实现如下功能: 时间输入输出(>>、<<); 时间增加减少若干(+=、-=),例:Time& operator+=(const ...
  • Time类的定义

    2018-04-14 18:52:37
    设计一个时间类Time私有数据成员hour(时)、minute(分)、second(秒); 公有成员函数有:setHour(int)设置数据成员hour的值(采用12小时制),非法的输入默认为12;setMinue(int)设置数据成员minute的值,非法...
  • Java—2-2 Time类的定义

    2020-10-29 19:08:41
    设计一个时间类Time私有数据成员hour(时)、minute(分)、second(秒); 公有成员函数有:setHour(int)设置数据成员hour的值(采用12小时制),非法的输入默认为12;setMinue(int)设置数据成员minute的值,非法输入...
  • /** 4: 成员变量与方法、构造方法 class MyTime{ private int hour; private int minute;... MyTime(int hour,int minute,int second){ this.hour=hour; this.minute=minute; t...
  • 展开全部【基本题】定义一个时间类,提供设定时间、显示时间和秒数增加e68a8432313133353236313431303231363533313334336361371的功能,其中设定时间的方法需要校验数据的正确性,在main函数中验证。*/#includeusing...
  • //一个时间类,有三个数据成员,时分秒,运用运算符重载实现两个时间对象或一个对象的运算。(都以秒为单位) class Time { public: Time():hour(0),minute(0),second(0) {} Time(int h,int m,int s) { hour=(h&...
  • class clock{private: int hour,minute,second;public: clock(int a,int b,int c) {hour=a;minute=b;second=c;} ~clock() {cout&lt;&lt;"释放内存"&lt;&lt;endl;} void dis...
  • C++_Time类的定义

    千次阅读 2019-03-30 01:08:09
    一个简单运用的题目, 个人感觉是将题目复杂化了, 内不需要写这么多的方法。 一开始提交好多次都是Output Limit Exceeded错误, 应该是输出了不该输出的内容, 找了半天才找的是调试的时候添加的输出流语句忘记...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,333
精华内容 2,133
关键字:

声明并实现一个time类,表示时间。time类包括: int类型的私有数据成员hour、minute