1有秒計(jì)時(shí)的數(shù)字時(shí)鐘(10分)
題目?jī)?nèi)容:
這一周的編程題是需要你在課程所給的時(shí)鐘程序的基礎(chǔ)上修改而成。但是我們并不直接給你時(shí)鐘程序的代碼,請(qǐng)根據(jù)視頻自己輸入時(shí)鐘程序的Display和Clock類的代碼,然后來做這個(gè)題目。
我們需要給時(shí)鐘程序加上一個(gè)表示秒的Display,然后為Clock增加以下public的成員函數(shù):
public Clock(int hour, int minute, int second);
用hour, minute和second初始化時(shí)間。
public void tick();
“嘀嗒”一下,時(shí)間走1秒。
public String toString();
返回一個(gè)String的值,以“hh:mm:ss“的形式表示當(dāng)前時(shí)間。這里每個(gè)數(shù)值都占據(jù)兩位,不足兩位時(shí)補(bǔ)0。如“00:01:22"。注意其中的冒號(hào)是西文的,不是中文的。
提示:String.format()可以用和printf一樣的方式來格式化一個(gè)字符串。
另外寫一個(gè)Main類,它的main函數(shù)為下面的樣子,注意,必須原封不動(dòng)地作為Main的main函數(shù):
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();
}
注意!在提交的時(shí)候,把Main、Clock和Display三個(gè)類的代碼合并在一起,其中Main類是public的,而Clock和Display類是沒有修飾符的。另外,千萬注意第一行不能有package語句。
輸入格式:
采用給定的main函數(shù)無需考慮輸入輸出。
輸出格式:
采用給定的main函數(shù)無需考慮輸入輸出。
輸入樣例:
采用給定的main函數(shù)無需考慮輸入輸出。
輸出樣例:
采用給定的main函數(shù)無需考慮輸入輸出。
時(shí)間限制:500ms內(nèi)存限制:32000kb
我的答案
class Display {
private int value = 0;
private int limit = 0;
public Display(int limit) {
this.limit = limit;
}
public void increace() {
value++;
if (value == limit)
{
value = 0;
}
}
public int getValue() {
return value;
}
public void initValue(int value) {
this.value = value;
}
public static void main(String[] args) {
Display d = new Display(60);
while(true)
{
d.increace();
System.out.println(d.getValue());
}
}
}
class Clock {
private Display sec = new Display(60);
private Display min = new Display(60);
private Display hor = new Display(24);
public Clock(int hour,int minute,int second) {
sec.initValue(second);
min.initValue(minute);
hor.initValue(hour);
}
public void tick() {
sec.increace();
if (sec.getValue()==0)
{
min.increace();
if (min.getValue()==0)
{
hor.increace();
}
}
}
public String toString() {
return String.format("%02d:%02d:%02d", hor.getValue(),min.getValue(),sec.getValue());
}
public static void main(String[] args) {
Clock c = new Clock(12,25,32);
System.out.println(c.toString());
c.tick();
System.out.println(c.toString());
}
}
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();
}
}