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
输出
时、分、秒的值,中间用“:”间隔
Example Input
10 11 12
Example Output
10:11:12
Hint
输入
58 23 85
输出
12:23:00
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int hour = in.nextInt();
int minute = in.nextInt();
int second = in.nextInt();
Time time = new Time();
time.setHour(hour);
time.setMinute(minute);
time.setSecond(second);
time.showTime();
in.close();
}
}
class Time{
int hour;
int minute;
int second;
public void setHour(int hour){
if(hour < 0 || hour >=24)
hour = 12;
this.hour = hour;
}
public void setMinute(int minute){
if(minute >= 0 && minute <= 59)
this.minute = minute;
}
public void setSecond(int second) {
if (second >= 0 && second <= 59)
this.second = second;
}
public void showTime(){
System.out.println(format2bit(hour) + ":" + format2bit(minute) + ":"
+ format2bit(second));
}
private String format2bit(int dight) {
// TODO Auto-generated method stub
if(dight / 10 ==0 ){
return "0" + dight;
}
else{
return String.valueOf(dight);
}
}
}