java進(jìn)階-第二周編程題

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();
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、 分?jǐn)?shù) 題目?jī)?nèi)容: 我們?cè)陬}目說明中給出了一部分代碼,你需要在這部分代碼的基礎(chǔ)上,按照題目說明編寫代碼,然后將...
    godfrey_88閱讀 5,074評(píng)論 1 4
  • 【程序1】 題目:古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    葉總韓閱讀 5,225評(píng)論 0 41
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • 教程一:視頻截圖(Tutorial 01: Making Screencaps) 首先我們需要了解視頻文件的一些基...
    90后的思維閱讀 4,987評(píng)論 0 3
  • 下午又回學(xué)校了,每次從家回學(xué)校都極度不情愿。 累死的拎著東西到宿舍,一開門就看見地上散落的塑料袋甚至還有一次性筷子...
    不一樣洞閱讀 689評(píng)論 0 0

友情鏈接更多精彩內(nèi)容