定义一个时钟类(Clock),要求如下: (1)存储时钟的hour(时,0~23)、minute(分,0~59)、second(秒,0~59)。 (2)创建新对象时默认为0时0分0秒。 (3)设置时钟

定义一个时钟类(Clock),要求如下:
(1)存储时钟的hour(时,023)、minute(分,059)、second(秒,0~59)。
(2)创建新对象时默认为0时0分0秒。
(3)设置时钟为指定的时间。
(4)使时钟前进1秒的功能incSecond()。
(5)以“时.分.秒”的形式输出时钟的时间。

以下是使用 Java 实现时钟类的代码示例:

public class Clock {
// 时钟的小时(0-23)
private int hour;
// 时钟的分钟(0-59)
private int minute;
// 时钟的秒钟(0-59)
private int second;

// 构造函数,默认初始化为 0 时 0 分 0 秒
public Clock() {
    setTime(0, 0, 0);
}

// 设置时钟的时间
public void setTime(int hour, int minute, int second) {
    if (hour < 0 || hour > 23 || minute < 0 || minute > 59 || second < 0 || second > 59) {
        throw new IllegalArgumentException("无效的时间参数");
    }
    this.hour = hour;
    this.minute = minute;
    this.second = second;
}

// 使时钟前进 1 秒钟
public void incSecond() {
    if (second == 59) {
        second = 0;
        if (minute == 59) {
            minute = 0;
            if (hour == 23) {
                hour = 0;
            } else {
                hour++;
            }
        } else {
            minute++;
        }
    } else {
        second++;
    }
}

// 以“时.分.秒”的形式输出时钟的时间
@Override
public String toString() {
    return String.format("%d:%02d:%02d", hour, minute, second);
}

}

在上述代码中,我们定义了一个名为 Clock 的时钟类,它包含了三个私有成员变量 hour 、 minute 和 second ,分别表示时钟的小时、分钟和秒钟。

构造函数 Clock() 用于初始化时钟的时间为 0 时 0 分 0 秒。 setTime(int hour, int minute, int second) 方法用于设置时钟的时间,该方法检查输入的时间参数是否有效,如果无效则抛出异常。

incSecond() 方法用于使时钟前进 1 秒钟。如果秒钟达到 59,则秒数重置为 0,分钟加 1;如果分钟达到 59,则分钟重置为 0,小时加 1;如果小时达到 23,则小时重置为 0。

toString() 方法用于以“时.分.秒”的形式输出时钟的时间。

你可以使用以下代码来测试时钟类:

public class Main {
public static void main(String[] args) {
Clock clock = new Clock();
System.out.println(clock);

    clock.setTime(10, 30, 45);
    System.out.println(clock);

    for (int i = 0; i < 10; i++) {
        clock.incSecond();
        System.out.println(clock);
    }
}

}

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值