1. 程式人生 > >Java練習 SDUT - 2669_2-2 Time類的定義

Java練習 SDUT - 2669_2-2 Time類的定義

2-2 Time類的定義

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

通過本題目的練習可以掌握類與物件的定義;

設計一個時間類Time,私有資料成員有hour(時)、minute(分)、second(秒);

公有成員函式有:setHour(int)設定資料成員hour的值(採用12小時制),非法的輸入預設為12;setMinue(int)設定資料成員minute的值,非法輸入預設為0;setSecond(int)設定資料成員second的值,非法輸入預設為0;setTime(int,int,int)設定時、分、秒三個資料成員的值; showTime()顯示時間物件的值。

在主函式main()中呼叫相應成員函式,使得時間物件的值能從鍵盤接收,並正確顯示。

提示:時、分、秒均按2位數值形式顯示 。

Input

輸入3個整數,用一個空格間隔

Output

輸出 時、分、秒的值,中間用“:”間隔

Sample Input

10 11 12

Sample Output

10:11:12

Hint

輸入

58 23 85

輸出

12:23:00

按照題目要求建立類,注意異常判斷

import java.util.*;

public class Main {
    public static void main(String[] args)
    {
        Scanner cin = new Scanner(System.in);
        Time a = new Time();
        a.setTime(cin.nextInt(), cin.nextInt(), cin.nextInt());
        a.show();
        cin.close();
    }
}


class Time
{
    private int hour,minute,second;
    public void setHour(int x)
    {
        hour = x;
        if(hour>12||hour<12)
            hour = 12;
    }
    public void setMinue(int x)
    {
        minute = x;
        if(minute>=60||minute<0)
            minute = 0;
    }
    public void setSecond(int x)
    {
        second = x;
        if(second>=60||second<0)
            second = 0;
    }
    public void setTime(int a,int b,int c)
    {
        setHour(a);
        setMinue(b);
        setSecond(c);
    }
    public void show()
    {
        System.out.printf("%02d:%02d:%02d\n",hour,minute,second);
    }
}