java_有秒计时的数字时钟
题目内容:
这一周的编程题是需要你在课程所给的时钟程序的基础上修改而成。但是我们并不直接给你时钟程序的代码,请根据视频自己输入时钟程序的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();
}
注意!在提交的时候,把Main、Clock和Display三个类的代码合并在一起,其中Main类是public的,而Clock和Display类是没有修饰符的。另外,千万注意第一行不能有package语句。
输入格式:
采用给定的main函数无需考虑输入输出。
输出格式:
采用给定的main函数无需考虑输入输出。
输入样例:
采用给定的main函数无需考虑输入输出。
输出样例:
采用给定的main函数无需考虑输入输出。
//主函数按题要求不动 public class 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;//上限值 //构造函数,初始化,这里为设定上限值 public Display(int limit){ this.limit=limit;//把limit传给本类的limit } //设定时间的值的函数 public void setValue(int value) { this.value=value; } //得到显示值函数 public int getValue() { return value; } //时间数值增加1函数 public void increase() { value++; if(value==limit) {//如果值增到了上限值 value=0;//值置0 } } } //建立一个表示时钟的类 class Clock { //这个时钟有时分秒三个成员 //因为是用Display类显示所以类型为Display private Display hour = new Display(24);//时,上限为24 private Display minute = new Display(60);//分,上限为60 private Display second = new Display(60);//秒,上限为60 //构造函数,初始化,用于设定时分秒的初始值 public Clock(int hour,int minute,int second) { this.hour.setValue(hour); this.minute.setValue(minute); this.second.setValue(second); } //“嘀嗒”一下,时间走1秒 public void tick(){ this.second.increase();//秒走一秒 if(this.second.getValue()==0) {//零,即达上限,被置零 this.minute.increase();//分走一下 if(this.minute.getValue()==0) {//如果秒达上限值 this.hour.increase();//时走一下 } } } // 把Clock类的对象转化为字符串类型,用于输出 public String toString() { //String.format()可以用和printf一样的方式来格式化一个字符串 String time= String.format("%02d:%02d:%02d", this.hour.getValue(), this.minute.getValue(), this.second.getValue()); return time; } }
java_有秒计时的数字时钟的更多相关文章
- 中国MOOC_面向对象程序设计——Java语言_第2周 对象交互_秒计时的数字时钟
第2周编程题 查看帮助 返回 第2周编程题,在课程所给的时钟程序的基础上修改 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系 ...
- 面向对象程序设计--Java语言第二周编程题:有秒计时的数字时钟
有秒计时的数字时钟 题目内容: 这一周的编程题是需要你在课程所给的时钟程序的基础上修改而成.但是我们并不直接给你时钟程序的代码,请根据视频自己输入时钟程序的Display和Clock类的代码,然后来做 ...
- 中国MOOC_面向对象程序设计——Java语言_第2周 对象交互_1有秒计时的数字时钟
第2周编程题 查看帮助 返回 第2周编程题,在课程所给的时钟程序的基础上修改 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系 ...
- HandlerThread实现数字时钟
1.描述 刚看完Android多线程编程,对HandlerThread比较感兴趣,趁热巩固练习,实现一个了数字时钟,希望对学习HandlerThread有所帮助.如下: 启动一个HandlerThre ...
- C#开发漂亮的数字时钟
今天用C#做了一个漂亮的数字时钟.界面如下. 实现技术:主要是通过Graphics类的DrawImage方法来绘制数字时钟中所有的数字,这些数字是从网上找的一些图片文件.时钟使用DateTime中No ...
- 基于Verilog HDL 的数字时钟设计
基于Verilog HDL的数字时钟设计 一.实验内容: 利用FPGA实现数字时钟设计,附带秒表功能及时间设置功能.时间设置由开关S1和S2控制,分别是增和减.开关S3是模式选择:0是正常时钟 ...
- 简单酷炫的Canvas数字时钟
声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 我记得很早之前就看过这个DEMO,是岑安大大博客里看到的: 就是这个数字时钟,当时觉得这个创意不错,但是也没去折腾.直到昨天同事又在网上看 ...
- VHDL 数字时钟设计
序言 这个是我在做FPGA界的HelloWorld--数字钟设计时随手写下的,再现了数字钟设计的过程 目标分析 时钟具有时分秒的显示,需6个数码管.为了减小功耗采用扫描法显示 按键设置时间,需要对按键 ...
- 【ARM】2440裸机系列-RTC数字时钟
功能 裸机程序,实现LCD显示数字时钟 主要代码 1)背景绘制 void Brush_ U32 c) { int x,y ; for ( y = 0 ; y < LCD_HEIGHT ; y ...
随机推荐
- 前端之js
简介: JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览器解释执行的 前端三大块 ...
- 网络编程—端口分类调研和netstat命令
运输层的端口: 1.什么是端口?为甚要使用用端口? 进程的创建和撤销都是动态的,通信的一方几乎无法识别对方机器上的进程,我们需要利用目的主机提供的功能来识别终点. 所以为了解决上述问题,我们就在运输层 ...
- JavaCV 学习(一):JavaCV 初体验
最近工作中因为项目的原因边学边用,接触并使用JavaCV做了一些相关的产品,目前觉得,JavaCV在图形图像(人家本身就是一个视觉库)的功能真的挺强大,而且使用起来避免了复杂的平台处理.下面整理一下对 ...
- ORACLE 日期加减操作
无论是DATE还是timestamp都可以进行加减操作. 可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒2 ...
- JavaScript实现页面显示倒计时功能
下面是用JS中的日期函数和定时器完成的一个倒计时的例子,效果如图: 代码如下: <!DOCTYPE html> <html> <head> <title> ...
- MANIFEST.MF文件详解
1. 依赖包是否在classpath中: 2. 资源文件目录是否在classpath中: 3. 主类是否正确: 具体配置参考 maven-jar-plugin 配置 <plugin> &l ...
- moment.js 学习笔记
一.安装 / 使用 npm install moment 注:使用版本为 2.22.2 var moment = require('moment'); moment().format(); // 20 ...
- 机器学习技法笔记:01 Linear Support Vector Machine
Roadmap Course Introduction Large-Margin Separating Hyperplane Standard Large-Margin Problem Support ...
- LeetCode:105_Construct Binary Tree from Preorder and Inorder Traversal | 根据前序和中序遍历构建二叉树 | Medium
要求:通过二叉树的前序和中序遍历序列构建一颗二叉树 代码如下: struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode ...
- 滴滴工程师带你深入理解 TCP 握手分手全过程
本文作者:饶全成,中科院计算所硕士,滴滴出行后端研发工程师. 个人主页:https://zhihu.com/people/raoquancheng 记得刚毕业找工作面试的时候,经常会被问到:你 ...