我有四个整数

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 ...在此状态下结束,直到达到更多小时。谁能给我解决方案。我不知道为什么我不能解决这个小问题

最好的祝福

最佳答案

处理此类情况时的第一个经验法则是将单位转换为标准单位。

将开始和结束(小时/分钟)都转换为分钟

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;
}

关于java - 比较两个时间值并存储在数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11783299/

10-11 18:11