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.text.*;
import java.util.*;
class Time
{
int h;
int m;
int s;
DecimalFormat g = new DecimalFormat("00");
public Time(int h, int m, int s)
{
this.h = h;
this.m = m;
this.s = s;
}
public void setHour()
{
if(h >= 12 || h < 0)
{
h = 12;
}
}
public void setMinue()
{
if(m < 0 || m > 59)
{
m = 0;
}
}
public void setSecond()
{
if(s < 0 || s > 59)
{
s = 0;
}
}
public void setTime()
{
setHour();
setMinue();
setSecond();
}
public void showTime()
{
System.out.println(g.format(h)+":"+ g.format(m) + ":" + g.format(s));
}
}
public class Main{
public static void main(String [] args)
{
Scanner reader = new Scanner(System.in);
Time time = new Time(reader.nextInt(), reader.nextInt(),reader.nextInt());
time.setTime();
time.showTime();
reader.close();
}
}