現在有四個整型值
int minute; int houre;
int endHour; int endMin;
假設前兩個是 houre = 6 -- minute = 40 so time is 6:40
第二個是 endHour = 22 endMin = 40 so time is 22:40
。
在數組中循環給起始時間加10分鐘,直到加到22:40 。
while (houre <= endHour && minute <= endMin)
{
if (minute + 10 >= 60)
houre += 1;
minute = (minute + 10) % 60;
Datee dat = new Datee();
dat.startHour = houre;
dat.startMin = minute;
arrayOfTime.add(dat);
}
錯誤發生在minute <= endMin
這個條件的時候。在取得更多hours時間的之前,程序在這個條件中止了。如何處理這個問題?
把 units 轉換為標准的 unit。把 start 和 end(hour/min) 到 min
start_min = starthour * 60 + startmin;
end_min = endhour*60 + endmin;
while (start_min < end_min) {
start_min += 10;
int hour = start_min / 60;
int min = star_min % 60;
}