1. 程式人生 > >Time類的定義

Time類的定義

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


	public void setMinute(int minute) {
		if(minute<0||minute>59){
			minute=0;
		}
		this.minute = minute;
	}
 
	public void setSecond(int second) {
		if(second<0||second>59){
			second=0;
		}
		this.second = second;
	}
	public String format(int digit){
		if(digit/10==0){
			return "0"+digit;
		}
		else{
			return String.valueOf(digit);
		}
		
		
	}
	public void showTime(int hour,int minute,int second){
		
		System.out.println(format(this.hour)+":"+format(this.minute)+":"+format(this.second));
	}
	
}

import java.util.Scanner;
 
public class Main
{
 
	public static void main(String[] args) 
	{
		Scanner reader = new Scanner(System.in);
		int hour=reader.nextInt();
		int minute=reader.nextInt();
		int second=reader.nextInt();
		Time time=new Time();
		time.setHour(hour);
		time.setMinute(minute);
		time.setSecond(second);
		time.showTime();
		reader.close();
	}
}
 
class Time{
	private int hour,minute,second;
	
	public void setHour(int hour) {
		if(hour<0||hour>12){
			hour=12;
		}
		this.hour = hour;
	}
 
	public void setMinute(int minute) {
		if(minute<0||minute>59){
			minute=0;
		}
		this.minute = minute;
	}
 
	public void setSecond(int second) {
		if(second<0||second>59){
			second=0;
		}
		this.second = second;
	}
	public void showTime(){
		if(hour<10)
		{
			System.out.print("0"+hour+":");
		}
		else 
		{
			System.out.print(hour+":");
		}
		if(minute<10)
		{
			System.out.print("0"+minute+":");
		}
		else 
		{
			System.out.print(minute+":");
		}
		if(second<10)
		{
			System.out.println("0"+second);
		}
		else 
		{
			System.out.println(second);
		}
	}
	
}