有秒计时的数字时钟(10分)
题目内容:
这一周的编程题是需要你在课程所给的时钟程序的基础上修改而成。但是我们并不直接给你时钟程序的代码,请根据视频自己输入时钟程序的Display和Clock类的代码,然后来做这个题目。
我们需要给时钟程序加上一个表示秒的Display,然后为Clock增加以下public的成员函数:
public Clock(int hour, int minute, int second);
用hour, minute和second初始化时间。
public void tick();
“嘀嗒”一下,时间走1秒。
public String toString();
返回一个String的值,以“hh:mm:ss“的形式表示当前时间。这里每个数值都占据两位,不足两位时补0。如“00:01:22"。注意其中的冒号是西文的,不是中文的。
提示:String.format()可以用和printf一样的方式来格式化一个字符串。
另外写一个Main类,它的main函数为下面的样子,注意,必须原封不动地作为Main的main函数:
public static void main(String[] args) {java.util.Scanner in = new java.util.Scanner(System.in);Clock clock = new Clock(in.nextInt(), in.nextInt(), in.nextInt());clock.tick();System.out.println(clock);in.close();}
//单个时钟计数器
class Display
{private int value=0;private int limit=0;//limit表示上限public Display(int limit) {this.limit=limit;}//设置value值public void setValue(int value) {this.value=value;}//value先是不断增加,等到达上限是value变为0public void increase() {value++;if(value==limit){value=0;} }//返回value值public int getValue() {return value;}
}
//显示时分秒的时钟计数器
class Clock {private Display hour=new Display(24);//小时private Display minute=new Display(60);//分钟private Display second=new Display(60);//秒钟//通过Display中的setValue方法来设置value1值,用hour, minute和second初始化时间。public Clock(int hour,int minute,int second) {this.hour.setValue(hour);this.minute.setValue(minute);this.second.setValue(second);}// “嘀嗒”一下,时间走1秒。public void tick() {second.increase();if(second.getValue()==0) {minute.increase();if(minute.getValue()==0){hour.increase();}}
}//返回一个String的值,以“hh:mm:ss“的形式表示当前时间。这里每个数值都占据两位,不足两位时补0。如“00:01:22"。注意其中的冒号是西文的,不是中文的。//提示:String.format()可以用和printf一样的方式来格式化一个字符串public String toString() {return(String.format("%02d:%02d:%02d",hour.getValue(),minute.getValue(),second.getValue()));}
}
public class SecondWeekday {public static void main(String[] args) {// TODO Auto-generated method stubjava.util.Scanner in = new java.util.Scanner(System.in);Clock clock = new Clock(in.nextInt(), in.nextInt(), in.nextInt());clock.tick();System.out.println(clock);in.close();}
}
有秒计时的数字时钟(10分)相关推荐
- 7-135 数字金字塔 (10分)
7-135 数字金字塔 (10分) 输入正整数n,输出n层数字金字塔. 输入格式: 正整数n,1<=n<=9. 输出格式: n层的金字塔,其中第1层的"1"在第1行的第 ...
- L1-007 念数字 (10 分)
L1-007 念数字 (10 分) 输入一个整数,输出每个数字对应的拼音.当整数为负数时,先输出fu字.十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: ...
- 7-124 上三角数字三角形 (10分)
7-124 上三角数字三角形 (10分) 输入一个正整数n,输出具有n层的上三角数字三角形. 输入格式: 只有一个正整数n,1<=n<=100. 输出格式: 一个上三角数字三角形,每个数字 ...
- 7-57 又来一个上三角数字三角形 (10 分)
输入一个正整数n,输出具有n层的上三角数字三角形. 输入格式: 只有一个正整数n,1<=n<=100. 输出格式: 一个上三角数字三角形,每个数字占四个字符位置. 输入样例: 5 输出样例 ...
- 实验1-顺序结构:7-1 计算整数各位数字之和(10分)
题目 输入一个3位正整数,将其每一位的数字相加,输出和. 输入格式: 输入一个3位正整数. 变量数据类型为unsigned. 输出格式: 输出整数每一位相加后的整数和. 输入样例: 123 输出样例: ...
- 数字逻辑之数字时钟课程设计(含proteus仿真图及代码)
一.设计要求 1.设计一个能显示日期.小时.分钟.秒的数字电子钟,并具有整点报时的功能. 2.可手动校正时.分时间和日期值,时间以24小时为一个周期,有校时功能,可以分别对时及分进行单独校时,使其校 ...
- quartus 修改 时钟_Clock Quartus II 开发的多功能数字时钟,有计时、调 闹铃、警报等 Other systems 其他 274万源代码下载- www.pudn.com...
文件名称: Clock下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Others 文件大小: 530 KB 上传时间: 2017-04-20 下载次数: 0 提 供 者: 墨离非 ...
- 7-4 特殊数字 (10 分)
7-4 特殊数字 (10 分) 我们规定,对于一个整数 a,如果其各位数字相加之和能够被 4 整除,则称它是一个特殊数字. 现在,给定一个整数 n,请你计算并输出不小于 n 的最小特殊数字. 输入格式 ...
- 7-7 念数字 (10 分)
7-7 念数字 (10 分) 输入一个整数,输出每个数字对应的拼音.当整数为负数时,先输出fu字.十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: wu ...
最新文章
- AngularJS 国际化——Angular-translate
- 合成孔径雷达技术——概述
- VS2017 下载离线MSDN文档
- 数学--数论-数论函数-欧拉函数
- mysql concat键值对_mysql中concat函数实现数据库字段合并查询
- 大数据Hadoop原理学习(HDFS,MAPREDUCE,YARN)
- Python程序设计语言基础01:Python基本语法元素
- ffmpeg函数介绍
- javascript 弹出层(警告框)的制作(css元素居中、javascript元素居中)
- html5植物生长,关于植物生长的知识
- 统计过程控制图SPC(2)
- pygame网络游戏_7_1:地图编辑器的使用
- C#周立功CAN卡二次开发心得
- 【3dmax千千问】初学3dmax插件神器第17课|VRAY渲染教程|哪三种表现方式最能影响3dmax疯狂模渲大师设计效果图的写实程度?食住玩3dmax入门到精通进阶教程
- 三层架构的bussiness层没用?
- 关于 npm 安装angular报错‘code EEXIST‘,ERR path C:\Users\Administrator\AppData\Roaming\npm\node_modules
- VC++6.0 MSDN下载地址
- python32位和64位有什么区别_python64位和32位区别
- 什么是动态代理?实际开发中如何使用?
- oppo手机便签存储路径在哪