평일의 범위를 반복하려고합니다. 각 요일은 정수 (Sunday = 1, Monday = 2, ..., Saturday = 7)
에 매핑됩니다.평일의 하위 범위를 반복하십시오.
범위는 start and end day
으로 정의됩니다. 범위가 Friday(6) - Monday(2)
처럼, 마지막에 분할 일주일의 시작 때 내가 어려움에 봉착
for(int i = startDay; i <= endDay; i++) { ... }
: 이것은 내가 할 단지 수, Monday(2) - Thursday(5)
같은 시작과 끝 날 괜찮습니다. 이것은 분명히 위 for 루프에서 작동하지 않습니다.
for(int i = 6; i <= 2; i++) { ... } // wouldn't even execute once.
내가 볼 수있는 유일한 해결책은 순환 버퍼의 일종을 구현하는 것인데, 나는 그런 간단한 문제에 대해 과도하다고 느낍니다. 나는 그저 그저 뒤죽박죽이며, 여기에서 명백한 것을 놓치고있는 것 같습니다. 나는 해결책이 모듈러 산술과 관련이 있다고 생각하지만, 나는 확실치 않다.
startDay를'와 같은 범위를 감안할 때 = 6 and endDay = 3', 이것은 여전히 전혀 실행되지 않습니까? 'startDay를 + (endDay 또는 - - startDay를)가 '= '6 + (3-6) '= '3' 이 결과 : '위해 (3 = 1이 <; I = 6 int로 난 ++) { ...}' 어느 쪽을 실행하지 않습니까? – Kumalh
이제 수정해야합니다. –
'... 8 - (startDay - endDay);가 아닌'... 7 - (startDay - endDay); '이되어야합니까? 그렇지 않으면 추가 하루가 항상 추가됩니다. – Kumalh