Java应用基础进阶篇第二章编程题
2017-07-18 22:46
281 查看
云课堂昵称:幽影丶
class Display {
private int value = 0;
private int limit = 0;
public Display(int limit){
this.limit = limit;
}
public void increase() {
value++;
if(value == limit) {
value = 0;
}
}
public void initialize (int value) {
this.value = 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);
public Clock(int hour, int minute, int second) {
this.hour.initialize(hour);
this.minute.initialize(minute);
this.second.initialize(second);
}
public void tick() {
second.increase();
if(second.getValue() == 0) {
minute.increase();
if(minute.getValue() == 0) {
hour.increase();
}
}
}
public String toString() {
String a = String.format("%02d:%02d:%02d",hour.getValue(),minute.getValue(),second.getValue());
return a;
}
}
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;
}
public void increase() {
value++;
if(value == limit) {
value = 0;
}
}
public void initialize (int value) {
this.value = 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);
public Clock(int hour, int minute, int second) {
this.hour.initialize(hour);
this.minute.initialize(minute);
this.second.initialize(second);
}
public void tick() {
second.increase();
if(second.getValue() == 0) {
minute.increase();
if(minute.getValue() == 0) {
hour.increase();
}
}
}
public String toString() {
String a = String.format("%02d:%02d:%02d",hour.getValue(),minute.getValue(),second.getValue());
return a;
}
}
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();
}
}
相关文章推荐
- 学习使用J2EE Web应用的事件功能-Java基础-Java-编程开发
- Java Servlet 编程及应用之Cookie的使用方法-Java基础-Java-编程开发
- Java应用技巧-Java基础-Java-编程开发
- 应用Java技术开发WAP应用程序-Java基础-Java-编程开发
- Java Servlet 编程及应用之四-Java基础-Java-编程开发
- Java Servlet 编程及应用之五-Java基础-Java-编程开发
- 企业级应用中的Applet和Servlet的通信-Java基础-Java-编程开发
- 第二章:Java编程基础语法
- 第2章 Java编程基础——FAQ2.07 final关键字有什么含义?具体如何应用?
- Java Servlet 编程及应用(一)-Java基础-Java-编程开发
- 第2章 Java编程基础——FAQ2.08 instanceof关键字有什么含义?如何应用?
- Java 编程基础,应用与实例
- 第2章 Java编程基础——FAQ2.04 this关键字有什么含义?在哪些情况下应用?
- [零基础学JAVA]Java SE应用部分-32.Java网络编程 推荐
- Java规则引擎工作原理及其应用-Java基础-Java-编程开发
- 第2章 Java编程基础——FAQ2.05 super关键字有什么含义?在哪些情况下应用?
- Java 在Client/Server 网络中的应用-Java基础-Java-编程开发
- [零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之一 推荐
- Java.util包简介并教您如何开发应用之二-Java基础-Java-编程开发
- 用Java快速开发Linux GUI应用-Java基础-Java-编程开发