面向對象程序設計--Java語言第二週編程題:有秒計時的數字時鐘

有秒計時的數字時鐘

題目內容:

這一週的編程題是須要你在課程所給的時鐘程序的基礎上修改而成。可是咱們並不直接給你時鐘程序的代碼,請根據視頻本身輸入時鐘程序的Display和Clock類的代碼,而後來作這個題目。 咱們須要給時鐘程序加上一個表示秒的Display,而後爲Clock增長如下public的成員函數:java

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"。注意其中的冒號是西文的,不是中文的。this

提示:String.format()能夠用和printf同樣的方式來格式化一個字符串。

另外寫一個Main類,它的main函數爲下面的樣子,注意,必須原封不動地做爲Main的main函數:spa

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語句。code

輸入格式:

採用給定的main函數無需考慮輸入輸出。orm

輸出格式:

採用給定的main函數無需考慮輸入輸出。視頻

輸入樣例:

採用給定的main函數無需考慮輸入輸出。字符串

輸出樣例:

採用給定的main函數無需考慮輸入輸出。form

代碼:
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 Clock {
    private int hour;
    private int minute;
    private int second;

    public Clock(int hour, int minute, int second){
        this.hour = hour;
        this.minute = minute;
        this.second = second;
    }

    public void tick(){
        second++;
        if(second>=60){
            second -= 60;
            minute++;
        }
        if(minute>=60){
            minute -= 60;
            hour++;
        }
        if(hour>=24){
            hour -= 24;
        }
    }

    public String toString(){
        return String.format("%02d:%02d:%02d",hour,minute,second);
    }
}
相關文章
相關標籤/搜索