Time類的定義
阿新 • • 發佈:2018-11-02
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); } } }