package j2.lesson05;
/**
* 時計を表すクラス。
* @author arakawa
* @version $Id: Clock_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
*/
public class Clock {
/** 時刻の内部表現. */
private int time;
/**
* 時刻を設定して、インスタンスを生成する。
* @param hour 時
* @param minute 分
* @param second 秒
*/
public Clock(int hour, int minute, int second) {
this.time = hour * 3600 + minute * 60 + second;
}
/**
* 指定した秒数だけ、この時計を進める。
* @param n 進める秒数
*/
public void tick(int n) {
this.time += n;
this.time %= 86400;
}
/**
* 0時0分0秒からの経過秒数を取得する。
* この値は 86399 以下の値である。
* @return 0時0分0秒からの経過秒数
*/
protected int getTimeAsSec() {
return this.time;
}
/**
* このインスタンスが表す時刻を表示する。
* 形式は <code>h時m分s秒</code>
*/
public final void show() {
// 現在時刻の 時, 分, 秒 を h, m, s で表すとして
// print h + "時" + m + "分" + s + "秒", 改行
int h = this.time / 3600;
int m = (this.time / 60) % 60;
int s = this.time % 60;
System.out.println(h + "時" + m + "分" + s + "秒");
}
}
|