我必须用以下内容创建一个名为“Time”的类
-
数据字段小时,分钟和秒 .
-
no-arg构造函数,用于为当前时间创建Time对象 .
构造"Time"对象的 -
构造函数,该对象具有自1970年1月1日以来指定的经过时间(以毫秒为单位) . (数据字段中的值将代表此时间)
构造具有指定小时,分钟和秒的"Time"对象的 -
构造函数 .
-
3个数据字段的方法,小时,分钟和秒 .
-
方法名为“setTime(long elapsedTime)”,它使用经过的时间设置对象的新时间 .
目前我认为我有一个可靠的方法来将从System.currentTimeMillis()获得的毫秒转换为小时/分钟/秒 . 作为'(System.currentTimeMillis()/ 1000 * 60 * 60))%24将是小时(System.currentTimeMillis()/ 1000 * 60))%60将是分钟(System.currentTimeMillis()/ 1000)%60会是秒
我现在很困惑如何将这个实现到任务中,我知道它是一个广泛的问题,要求某些指导方针可以引导我进入正确的方向,因为我对对象不是很熟悉并且感到非常迷失时刻 . 任何帮助是极大的赞赏 . 如果我能取得任何进展,我会更新帖子 .
2 回答
no-arg构造函数使用System.currentTimeMillis()并使用
this()
调用第二个构造函数 . 反过来,这个其他构造函数调用setTime()
方法 . 这是从long
参数(经过时间)中提取秒,分钟和小时的方法 . 第三个构造函数只是设置小时,分钟和第二个数据成员 . 您可以看到三种getter方法,以及一种以HH:MM:SS格式创建String的toString方法 . 这应该足以让您完成作业 .首先,将问题分解成小部分 . 您是否愿意为他们创建一个包含三个字段和getter / setter的类?然后先做 .
然后,您可以向该类添加setTime(long)方法 . 在该课程中,使用您的方法来计算您描述的小时,分钟和秒(我没有检查您的方法是否看起来能够正常工作但我们只是假设) . 一旦在setTime(long)方法中的变量中有小时,分钟和秒,就可以调用先前创建的setHours(),setMinutes()和setSeconds()方法 .
拥有该方法后,即可创建构造函数 . 毫秒构造函数可以调用你的setTime()方法 . 无参数的可以调用System.currentTimeMillis()并使用它的输出来调用setTime() . 花费数小时,分钟和秒的那个可以直接调用字段的setXXX()方法 .