您的位置:首页 > 编程语言 > Java开发

2-2 Time类的定义(Java)acm.sdut

2017-03-29 20:36 411 查看

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

如何以二位数值显示:

public String format(int digit){
if(digit/10==0){
return "0"+digit;
}
else{
return String.valueOf(digit);
}

完整的代码:
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int hour=sc.nextInt();
int minute=sc.nextInt();
int second=sc.nextInt();
Time t=new Time();
t.setHour(hour);
t.setMinute(minute);
t.setSecond(second);
t.showTime(hour, minute, second);
sc.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 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));
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java acm.sdtu