2012年8月4日 星期六

Java 算幾分鐘後的Class



public class MyTime {
//final 靜態常數不會修改的
public static final int HOURS_PER_DAY = 24;
public static final int MINUTES_PER_HOUR = 60;

private int mHour;
private int mMinute;


public void setMytime(int inHour, int inMinute) {
if( inHour < 0 && inHour >= HOURS_PER_DAY)
return;

if(inMinute < 0  && inMinute >= HOURS_PER_DAY)
return;

mHour = inHour;
mMinute = inMinute;
}


public void passMinute(int inMinute) {
// (原本小時 + (分+傳入的分)/24小時的餘數)/24小時的餘數
mHour = (mHour + (mMinute + inMinute) / MINUTES_PER_HOUR)
% HOURS_PER_DAY;

//(分+傳入的分)/60分的餘數
mMinute = (mMinute + inMinute)%MINUTES_PER_HOUR;
}


public String toString() {
return (mHour >= 10 ? "": "0" )+ mHour + ":" + (mMinute >= 10 ? "" : "0") + mMinute;
}

}


//呼叫方式

                MyTime mTime = new MyTime();
mTime.setMytime(6, 30);
System.out.println(mTime);
mTime.setMytime(8, 50);
System.out.println(mTime);
mTime.passMinute(120);
System.out.println(mTime.toString());