2669-2-2 Time類的定義-JAVA
阿新 • • 發佈:2018-12-17
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
Source
import java.text.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int h = scanner.nextInt(); int m = scanner.nextInt(); int s = scanner.nextInt(); Time time = new Time(h, m, s); time.setTime(); time.showTime(); } } } class Time { private int hour, minute, second; DecimalFormat decimalFormat = new DecimalFormat("00"); public Time(int hour, int minute, int second) { super(); this.hour = hour; this.minute = minute; this.second = second; } public void setHour() { if (hour >= 12 || hour < 0) { hour = 12; } } public void setMinute() { if (minute >= 60 || minute < 0) { minute = 0; } } public void setSecond() { if (second >= 60 || second < 0) { second = 0; } } public void setTime() { setHour(); setMinute(); setSecond(); } public void showTime() { System.out.println( decimalFormat.format(hour) + ":" + decimalFormat.format(minute) + ":" + decimalFormat.format(second)); } }